C# 鼠标下降/鼠标悬停并单击事件不同步
我有一个winforms应用程序,可以捕捉鼠标向下、鼠标点击和点击事件 缓慢单击表单(大约每秒一次),事件计数器保持同步 快速单击,向下/向上事件计数保持跟踪,但单击事件计数落后:C# 鼠标下降/鼠标悬停并单击事件不同步,c#,winforms,windows-8.1,C#,Winforms,Windows 8.1,我有一个winforms应用程序,可以捕捉鼠标向下、鼠标点击和点击事件 缓慢单击表单(大约每秒一次),事件计数器保持同步 快速单击,向下/向上事件计数保持跟踪,但单击事件计数落后: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e)
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private int clicks = 0;
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
clicks++;
textBox1.Text = clicks.ToString();
}
private int mdown=0;
private void Form1_MouseDown(object sender, MouseEventArgs e)
{
mdown++;
textBox2.Text = mdown.ToString();
}
private int mup = 0;
private void Form1_MouseUp(object sender, MouseEventArgs e)
{
mup++;
textBox3.Text = mup.ToString();
}
}
阅读文档:这似乎不可能——我是否遗漏了一些明显的东西
(使用触摸板按钮或外部蓝牙鼠标时会发生这种情况,因此希望这是编程错误,而不是机器的问题。)
编辑
Damien当然是正确的,他还跟踪双击,并且所有内容都保持同步:
private void Form1_MouseDoubleClick(object sender, MouseEventArgs e)
{
clicks++;
textBox1.Text = clicks.ToString();
}
因为有时候你点击的速度足够快,以至于你触发了双击。考虑链接到的文档页面的序列: 以下是双击鼠标按钮引发的事件顺序:
请注意,该序列中的
MouseDown
/MouseUp
事件的数量是MouseClick
事件的两倍。您有什么理由同时使用这三个事件?MouseUp是处理点击事件的常用方式。感谢@CodyGray的响应-上面的程序只是突出了问题-我只是捕捉到点击事件并注意到它们并不总是在哪里注册,所以我创建了上面的示例。当然,我可以转移到跟踪鼠标,但我想知道为什么我会得到上述结果。