双击C#中的Windows窗体

如何检测哪个鼠标按钮双击表格,即左,右或中?

更新:我使用的是.NET2.0

将最后单击的按钮存储在MouseUp事件中,然后在双击事件中检查该按钮。 示例代码:

MouseButtons _lastButtonUp = MouseButtons.None; private void Form1_MouseUp(object sender, MouseEventArgs e) { _lastButtonUp = e.Button; } private void Form1_DoubleClick(object sender, EventArgs e) { switch (_lastButtonUp) { case System.Windows.Forms.MouseButtons.Left: MessageBox.Show("left double click"); break; case System.Windows.Forms.MouseButtons.Right: MessageBox.Show("right double click"); break; case System.Windows.Forms.MouseButtons.Middle: MessageBox.Show("middle double click"); break; } } 

看看MouseDoubleClick和MouseEventArgs以及MouseButtons Enumeration

MouseDoubleClick是Form事件之一。

在Whatever_Click或DoubleClick事件中,您可以检查MouseEventArgs e,其中包含按下的键。

  private void Form1_MouseDoubleClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) Console.WriteLine("Left Mouse Button was clicked!"); else if (e.Button == MouseButtons.Middle) Console.WriteLine("Middle Mouse Button was clicked!"); } 

其他按钮包括MouseButtons.Right,MouseButtons.Left

form_MouseDoubleClick事件中,您可以跟踪

 void Form1_MouseDoubleClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { // Do Operation } }