c#鼠标滚轮事件(转)

来源:互联网 发布:淘宝生e经怎么没有了 编辑:程序博客网 时间:2024/04/29 22:34
 

protected override void OnMouseWheel(System.Windows.Forms.MouseEventArgs e)
{

}

有些控件是没有OnMouseWheel的, 所有可以在form中添加, 以pictureBox为例 :

方法一:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.modelsCls1.MouseWheel+=new MouseEventHandler(pictureBox1_MouseWheel);
        }

        private void pictureBox1_MouseWheel(object sender, MouseEventArgs e)
        {
            ... ...
        }
       ... ...
    }

方法二:

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            ((Control)this).MouseWheel += new MouseEventHandler(Form1_MouseWheel);

        }

        void Form1_MouseWheel(object sender, MouseEventArgs e)
        {
            try
            {
                if (textBox1.Bounds.Contains(e.Location)) //判断鼠标所在的地方是否在控件上
                {
                    ... ...
                }
            }
            catch { }
        }
    }

要注意的一点是,鼠标滚轮事件要在空间获得焦点时才能实现,所以最好添加如下代码:

private void pictureBox1_MouseEnter(object sender, MouseEventArgs e)

{

        this.pictureBox1.Focus( );

}

原创粉丝点击