小编Dan*_*nny的帖子

如何获得右键单击鼠标事件?将EventArgs更改为MouseEventArgs会导致Form1Designer中出错?

我有一种方法来检测visual studio通过双击表单所做的左键单击事件.

 private void pictureBox1_Click(object sender, EventArgs e)
 {
 MessageBox.Show("Left click");
 }
Run Code Online (Sandbox Code Playgroud)

我希望通过右键单击同一个对象来进行右键单击事件.

我在网上看到你可以使用这个开关:

 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");}
 }
Run Code Online (Sandbox Code Playgroud)

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

 "'System.EventArgs' does not contain a definition for 'Button'... "
Run Code Online (Sandbox Code Playgroud)

所以我通过将"EventArgs e"更改为"MouseEventArgs e"来解决此问题.

但是Form1Designer中出现了一个新错误,其中事件行是:

 this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
Run Code Online (Sandbox Code Playgroud)

错误说:

"No overload for 'pictureBox1_Click' matches delegate 'System.EventHandler' "
Run Code Online (Sandbox Code Playgroud)

我该如何解决?谢谢阅读

c# event-handling visual-studio-2012

25
推荐指数
4
解决办法
12万
查看次数

"<employee>"在以下代码中的含义是什么:List <Employee> <employee> employees = new List <Employee> <employee>();

我在线阅读MVC 5教程(这里).它说要使用这段代码:

 List<Employee><employee> employees = new List<Employee><employee>();
Run Code Online (Sandbox Code Playgroud)

我得到一个红色下划线.我知道我正在尝试创建一个Employee类型列表(有一个Employee类).但为什么我不这样做:

 List<Employee>employees = new List<Employee>();
Run Code Online (Sandbox Code Playgroud)

什么是......

 <employee> 
Run Code Online (Sandbox Code Playgroud)

...部分代码吗?我为什么需要它?它只是给我一个红色下划线.也许我需要从MVC 4升级到MVC 5?我正在使用Visual Studio 2012(MVC 4)

c# asp.net asp.net-mvc-5

4
推荐指数
1
解决办法
1729
查看次数