简体   繁体   English

双击C#中的Windows窗体

[英]Double click to Windows form in C#

How can I detect, which mouse button have double clicked the form ie Left, Right or Middle? 如何检测哪个鼠标按钮双击了表格,即“左”,“右”或“中间”?

Updated: I am using .NET2.0 更新:我正在使用.NET2.0

Have a look at MouseDoubleClick and MouseEventArgs and MouseButtons Enumeration 看看MouseDoubleClickMouseEventArgs以及MouseButtons枚举

MouseDoubleClick is one of the Form events. MouseDoubleClick是Form事件之一。

Store the last clicked button in MouseUp event and then check that in the double click event. 将最后单击的按钮存储在MouseUp事件中,然后在双击事件中进行检查。 Sample code: 样例代码:

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;
    }

}

In Whatever_Click or DoubleClick event, you can check the MouseEventArgs e, which contains what key was pressed. 在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!");
 } 

Other buttons include MouseButtons.Right, MouseButtons.Left 其他按钮包括MouseButtons.Right,MouseButtons.Left

in form_MouseDoubleClick event you can trace form_MouseDoubleClick事件中,您可以跟踪

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM