c# – 如何获取右键单击鼠标事件?将EventArgs更改为MouseEventArgs会导致Form1Designer中的错误?

前端之家收集整理的这篇文章主要介绍了c# – 如何获取右键单击鼠标事件?将EventArgs更改为MouseEventArgs会导致Form1Designer中的错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一种通过双击表单来检测可视化工作室制作的左点击事件的方法.
private void pictureBox1_Click(object sender,EventArgs e)
 {
 MessageBox.Show("Left click");
 }

我想通过右键单击相同的对象来右键单击事件.

我在线阅读可以使用此开关:

private void pictureBox1_Click(object sender,EventArgs e)
 {
 if (e.Button == System.Windows.Forms.MouseButtons.Right){MessageBox.Show("Right click");}
 if (e.Button == System.Windows.Forms.MouseButtons.Left){MessageBox.Show("Left click");}
 }

麻烦的是,当我这样做e.Button有一个红线和错误

"'System.EventArgs' does not contain a definition for 'Button'... "

所以我通过将“EventArgs e”更改为“MouseEventArgs e”来解决这个问题

但是,在Form1Designer中有一个新的错误,事件行是:

this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);

错误说:

"No overload for 'pictureBox1_Click' matches delegate 'System.EventHandler' "

我该如何解决
谢谢阅读

解决方法

您应该在点击事件处理程序中引入一个转换
MouseEventArgs me = (MouseEventArgs) e;

猜你在找的C#相关文章