C#鼠标右键单击按钮不会引发鼠标点击事件

Mar*_*ark 5 c# button mouseclick-event winforms

我在表单上有一个按钮,想要处理左右点击.

我正在处理MouseClick事件,但这只是在左键单击时引发的.

这是我的代码中的某个地方(我错过了一个设置)或预期的功能吗?

如果无法解决这个问题,那么处理MouseUp事件的最佳解决方法是什么?

我想使用MouseClick的原因是自动识别双击.

感谢您的任何反馈.

Vov*_*pov 12

使用MouseUp !!

    private void button6_MouseUp(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            MessageBox.Show("LEFT");
        }
        if (e.Button == System.Windows.Forms.MouseButtons.Right)
        {
            MessageBox.Show("RIGHT");
        }
    }
Run Code Online (Sandbox Code Playgroud)


Mar*_*ark 7

显然,这个问题的答案是OnClick不处理Buttons 的右键单击事件。因此,解决方案是使用MouseUp/MouseDown并检查双击/单击,其中鼠标手动打开/关闭一半。


Ale*_*lex 5

没有代码很难回答,但总的来说,它应该有效.

 private void Form1_MouseClick(object sender, MouseEventArgs e)
{
  if (e.Button == System.Windows.Forms.MouseButtons.Left)
  {
    MessageBox.Show("LEFT");
  }
  if (e.Button == System.Windows.Forms.MouseButtons.Right)
  {
    MessageBox.Show("RIGHT");
  }
}
Run Code Online (Sandbox Code Playgroud)

// EventHandler

 this.MouseClick += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseClick);
Run Code Online (Sandbox Code Playgroud)

编辑:您可能希望使用MouseDoubleClick事件来识别双击.适用于左右两个博物馆按钮.