C# 在c语言中捕获鼠标点击事件#

C# 在c语言中捕获鼠标点击事件#,c#,.net,winforms,C#,.net,Winforms,我正在尝试用c#创建一个简单的windows窗体应用程序,它将计算鼠标事件中的左右单击次数。我复制了以下检测单击事件的代码: private void mouseClick(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { Trace.WriteLine("Mouse clicked"); } } 在Form方法中,我添加了this.MouseClick+=M

我正在尝试用c#创建一个简单的windows窗体应用程序,它将计算鼠标事件中的左右单击次数。我复制了以下检测单击事件的代码:

private void mouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        Trace.WriteLine("Mouse clicked");
    }
}

在Form方法中,我添加了
this.MouseClick+=MouseClick。我的问题是,无论是右键单击还是左键单击,每次执行单击时,此功能都会激活。为什么会这样?

这是出于设计
MouseClick
事件在每次单击时都会引发-不管是由左键还是右键引起的

为了在此事件处理程序中区分左按钮和右按钮,您必须完全按照代码中的操作检查
e.button
属性:

if (e.Button == MouseButtons.Right)

这是故意的
MouseClick
事件在每次单击时都会引发-不管是由左键还是右键引起的

为了在此事件处理程序中区分左按钮和右按钮,您必须完全按照代码中的操作检查
e.button
属性:

if (e.Button == MouseButtons.Right)

您的意思是“不管按钮如何调用函数”还是“不管按钮如何布尔表达式的计算结果为true”?您的意思是“不管按钮如何调用函数”还是“不管按钮如何布尔表达式的计算结果为true”?:D.如果是m代码,则为是。但是它无法区分两次单击。@JoseRamon您试过调试它吗?在左键单击和右键单击的情况下,
e.Button
的值是多少?按钮->左键单击-1 Delta-0基数x,y,按钮-left@JoseRamon您是否在左键和右键单击中都获得这些值?:D.是,如果是m代码。但是它无法区分两次单击。@JoseRamon您试过调试它吗?在左键单击和右键单击的情况下,
e.Button
的值是多少?按钮->左键单击-1 Delta-0基数x,y,按钮-left@JoseRamon您是否在左键和右键单击中都获得这些值?