在Win表单应用程序中禁用右键

本文关键字:右键 应用程序 Win 表单 | 更新日期: 2023-09-27 18:16:53

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

Button.click += SomeMethod

在同时点击(左击和右击)的情况下,它会转到someemethod。我想在左键点击的情况下做这个动作

在Win表单应用程序中禁用右键

你不能在事件中处理哪个按钮被点击了吗?

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

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

检查处理程序的MouseEventArgs参数

您可以检查按钮,并调用本地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"形式的鼠标点击事件。

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

我希望我们可以使用e.Handled = true,但在这种情况下,两个事件参数都没有Handled属性,因此你必须手动检查它们