Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在Win form应用程序中禁用右键单击_C#_.net - Fatal编程技术网

C# 在Win form应用程序中禁用右键单击

C# 在Win form应用程序中禁用右键单击,c#,.net,C#,.net,我正在制作一个windows窗体应用程序 我在那个应用程序中添加了一个用户控件 是否有方法禁用右键单击事件。 因为如果我使用 Button.click += SomeMethod 如果同时单击(左键和右键),它将转到某个方法。 我只想在左键单击的情况下执行此操作。您可以检测在事件处理程序中单击了哪个鼠标按钮 检查处理程序的参数您不能处理在事件内部单击的按钮吗 private void uc_MouseClick(object sender, MouseEventArgs e) { if

我正在制作一个windows窗体应用程序 我在那个应用程序中添加了一个用户控件 是否有方法禁用右键单击事件。 因为如果我使用

Button.click += SomeMethod
如果同时单击(左键和右键),它将转到某个方法。
我只想在左键单击的情况下执行此操作。

您可以检测在事件处理程序中单击了哪个鼠标按钮


检查处理程序的参数

您不能处理在事件内部单击的按钮吗

private void uc_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == System.Windows.Forms.MouseButtons.Left)
    {
         //more logic here
    }
}

您可以选中该按钮并调用本机onClick来查找左键单击的情况

[伪代码]

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”中的鼠标单击事件

我希望我们可以使用e.Handled=true,但是在本例中,两个事件参数都没有Handled属性,因此您必须手动检查它们

   Button.MouseClick += SomeMethod;
   private void SomeMethod(object sender, MouseEventArgs e)
   {
        if (!e.Button.Equals(System.Windows.Forms.MouseButtons.Right))
        {
            // do work
        }
   }