代码之家  ›  专栏  ›  技术社区  ›  Javed Akram

双击C中的Windows窗体#

  •  1
  • Javed Akram  · 技术社区  · 14 年前

    如何检测,哪个鼠标按钮双击了窗体,即左键、右键或中键?

    我正在使用.net2.0

    4 回复  |  直到 14 年前
        1
  •  2
  •   Shadow Wizard    14 年前

    事件 事件,然后在双击事件中检查。样例代码:

    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;
        }
    
    }
    
        2
  •  2
  •   Adriaan Stander    14 年前
        3
  •  1
  •   Ranhiru Jude Cooray    14 年前

    在任何“单击”或“双击”事件中,您都可以检查mouseventargs 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!");
     } 
    

    其他按钮包括鼠标按钮。右,鼠标按钮。左

        4
  •  0
  •   anishMarokey FIre Panda    14 年前

    在里面 form_MouseDoubleClick 您可以跟踪的事件

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