问题描述
我有一种方法可以检测Visual Studio通过双击表单进行的左键单击事件.
I have a method to detect the left click event that visual studio made by double clicking on the form.
private void pictureBox1_Click(object sender, EventArgs e)
{
MessageBox.Show("Left click");
}
我想通过右键单击同一个对象来获得右键单击事件.
I want to have a right-click event by right-clicking on the same object.
我在网上看到你可以使用这个开关:
I read online that you can use this switch:
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 时,它会产生错误错误:
The trouble is that when I do e.Button it has has yields an error error:
System.EventArgs 不包含 Button 的定义...
System.EventArgsdoes not contain a definition forButton...
所以我通过将 EventArgs.e 更改为 MouseEventArgs.e
So I fix this by changing the EventArgs.e to MouseEventArgs.e
但是在Form1Designer中出现了一个新的错误,事件行是:
But then there is a new error in Form1Designer where the event line is:
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
错误提示:
pictureBox1_Click 没有重载匹配委托 System.EventHandler
我该如何解决这个问题?感谢阅读
How do I fix this? Thanks for reading
推荐答案
您应该在 click 事件处理程序中引入强制转换
You should introduce a cast inside the click event handler
MouseEventArgs me = (MouseEventArgs) e;
这篇关于如何获得鼠标右键事件?将 EventArgs 更改为 MouseEventArgs 会导致 Form1Designer 出现错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)