你好,我正在制作一个Windows窗体应用程序。我在该应用程序中添加了一个用户控件。有没有办法禁用右键单击事件?因为如果我使用
Button.click += SomeMethod
在左右点击时都会执行someMethod方法。我希望只在左键点击时执行此操作。
你不能处理事件中哪个按钮被点击了吗?
private void uc_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
//more logic here
}
}
SomeMethod(e){
if (e.Button == left){
control.onClick(e);
}
}
你可以有多种方式实现这个功能:
1)如果你想使用按钮的点击事件,可以使用下面的代码:
Button.Click += SomeMethod;
private void SomeMethod(object sender, EventArgs e)
{
System.Windows.Forms.Button bt = sender as System.Windows.Forms.Button;
if (bt != null)
{
if (bt.Equals(System.Windows.Forms.MouseButtons.Left))
{
// do something;
}
}
}
2) 或者在 Windows 窗体中使用鼠标单击事件 "button.MouseClick"。
Button.MouseClick += SomeMethod;
private void SomeMethod(object sender, MouseEventArgs e)
{
if (!e.Button.Equals(System.Windows.Forms.MouseButtons.Right))
{
// do work
}
}