日期:2014-05-18  浏览次数:20842 次

鼠标滚轮事件问题
winform是不是每个控件都有鼠标滚轮事件的,OnMonseWheel? 有这个事件的话我怎么找不到啊?我用的是VS2010
想做一个图片缩放的,鼠标放上去鼠标滚轮移动的话触发鼠标滚轮事件

本人菜鸟 嘿嘿


------解决方案--------------------
如果你实在找不到其它办法,用下这两个过程试下:
重载下PreWndProc看下。
还有这个函数:DefWndProc
------解决方案--------------------
粘贴如下代码,编译,使用这个PictureBoxWheel控件,就有MouseWheel事件了。
C# code

public class MyPictureBoxWheel : PictureBox
{
    public event MouseEventHandler MouseWheel;
    protected override void OnMouseWheel(MouseEventArgs e)
    {
        base.OnMouseWheel(e);
        if (MouseWheel != null) MouseWheel(this, e);
    }
}

------解决方案--------------------
http://download.csdn.net/source/2701596
应该对你有帮助
------解决方案--------------------
C# code

//鼠标滚轮事件
        void pictureBox1_MouseWheel(object sender, System.Windows.Forms.MouseEventArgs e)
        {
             Size t = pictureBox1.Size;
             if (e.Delta == -120)
             {
                 pictureBox1.Size = new Size(t.Width - 120, t.Height - 120);                   
             }
             else if (e.Delta == 120)
             {                    
                 pictureBox1.Size = new Size(t.Width + 120, t.Height + 120);
             }
        }