2010-11-23 50 views

回答

2

存放在的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; 
    } 

} 
0

你可以跟踪

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

我要求更新了答案 – 2010-11-23 04:31:10

+0

。我目前正在使用.NET Framework 3.5并且存在MouseEventArgs :) – anishMarokey 2010-11-23 04:42:09

1

在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