C#之鼠标事件

2024-05-08  本文已影响0人  小羊爱学习
namespace JSCLearn
{
    public partial class FrmMouseEvent : Form
    {
        public FrmMouseEvent()
        {
            InitializeComponent();
        }

        protected override void OnClick(EventArgs e)
        {
            base.OnClick(e);
            Console.WriteLine("鼠标上任意按钮单击事件");
        }

        protected override void OnMouseClick(MouseEventArgs e)
        {
            base.OnMouseClick(e);
            Console.WriteLine($"坐标:{e.Location}");
            if (e.Button == MouseButtons.Left)
            {
                Console.WriteLine("鼠标左键单击事件");
            }
            if (e.Button == MouseButtons.Right)
            {
                Console.WriteLine("鼠标右键单击事件");
            }
            if (e.Button == MouseButtons.Middle)
            {
                Console.WriteLine("鼠标滚轮键单击事件");
            }
        }

        protected override void OnDoubleClick(EventArgs e)
        {
            base.OnDoubleClick(e);
            Console.WriteLine("鼠标上任意按钮双击事件");
        }

        protected override void OnMouseDoubleClick(MouseEventArgs e)
        {
            base.OnMouseDoubleClick(e);
            Console.WriteLine($"坐标:{e.Location}");
            if (e.Button == MouseButtons.Left)
            {
                Console.WriteLine("鼠标左键双击事件");
            }
            if (e.Button == MouseButtons.Right)
            {
                Console.WriteLine("鼠标右键双击事件");
            }
            if (e.Button == MouseButtons.Middle)
            {
                Console.WriteLine("鼠标滚轮键双击事件");
            }
        }

        protected override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);
            Console.WriteLine($"坐标:{e.Location}");
            if (e.Button == MouseButtons.Left)
            {
                Console.WriteLine("鼠标左键按下事件");
            }
            if (e.Button == MouseButtons.Right)
            {
                Console.WriteLine("鼠标右键按下事件");
            }
            if (e.Button == MouseButtons.Middle)
            {
                Console.WriteLine("鼠标滚轮键按下事件");
            }
        }

        protected override void OnMouseUp(MouseEventArgs e)
        {
            base.OnMouseUp(e);
            Console.WriteLine($"坐标:{e.Location}");
            if (e.Button == MouseButtons.Left)
            {
                Console.WriteLine("鼠标左键释放事件");
            }
            if (e.Button == MouseButtons.Right)
            {
                Console.WriteLine("鼠标右键释放事件");
            }
            if (e.Button == MouseButtons.Middle)
            {
                Console.WriteLine("鼠标滚轮键释放事件");
            }
        }

        protected override void OnMouseEnter(EventArgs e)
        {
            base.OnMouseEnter(e);
            Console.WriteLine("鼠标进入控件的边框或工作区");
        }
        protected override void OnMouseHover(EventArgs e)
        {
            base.OnMouseHover(e);
            Console.WriteLine("鼠标首次进入控件的边框或工作区后并首次停留后触发");
        }

        protected override void OnMouseLeave(EventArgs e)
        {
            base.OnMouseLeave(e);
            Console.WriteLine("鼠标离开控件的边框或工作区");
        }
        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);
            Console.WriteLine($"坐标:{e.Location}");
            if (e.Button == MouseButtons.Left)
            {
                Console.WriteLine("鼠标左键按下不释放时进行移动");
            }
            if (e.Button == MouseButtons.Right)
            {
                Console.WriteLine("鼠标右键按下不释放时进行移动");
            }
            if (e.Button == MouseButtons.Middle)
            {
                Console.WriteLine("鼠标滚轮键按下不释放时进行移动");
            }
        }

        protected override void OnMouseWheel(MouseEventArgs e)
        {
            base.OnMouseWheel(e);
            Console.WriteLine($"坐标:{e.Location}");
            Console.WriteLine("用户滚动鼠标滚轮并且控件有焦点时触发此事件(只限滚轮才能触发)");
        }
    }
}

如果大家有兴趣,可以看一下这篇博客【WinForm.NET开发】使用鼠标事件,写的更详细点。

上一篇 下一篇

猜你喜欢

热点阅读