我有一种通过双击表单来检测可视化工作室制作的左点击事件的方法.
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;