Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按钮点击事件不发生';按键盘上的键(C#Windows窗体应用程序)后不久不会触发_C#_.net_Winforms - Fatal编程技术网

按钮点击事件不发生';按键盘上的键(C#Windows窗体应用程序)后不久不会触发

按钮点击事件不发生';按键盘上的键(C#Windows窗体应用程序)后不久不会触发,c#,.net,winforms,C#,.net,Winforms,我正在使用Microsoft Visual C#2010开发一些Windows窗体应用程序。 我注意到,在按下键盘上的键后不久(几分之一秒),鼠标单击按钮(System.Windows.Forms.button)不会触发click事件 我知道我可以使用MouseUp事件来解决这个问题,它工作得非常好,但出于某些原因,我仍然希望坚持使用Click事件 有人知道这个问题吗?它是否因.NET Framework或Windows版本而异?我正在运行Microsoft Visual Studio 2010

我正在使用Microsoft Visual C#2010开发一些Windows窗体应用程序。 我注意到,在按下键盘上的键后不久(几分之一秒),鼠标单击按钮(
System.Windows.Forms.button
)不会触发
click
事件

我知道我可以使用
MouseUp
事件来解决这个问题,它工作得非常好,但出于某些原因,我仍然希望坚持使用
Click
事件

有人知道这个问题吗?它是否因.NET Framework或Windows版本而异?我正在运行Microsoft Visual Studio 2010版本10.0.40219.1 Sp1Rel和Microsoft.NET Framework版本4.5.51209 Sp1Rel。在Windows 7 Home Premium SP1上


我没有发布任何代码,因为我认为这不是罪魁祸首。我在一个新创建的Windows窗体上测试了这个问题,其中有一个按钮指定了
Click
事件处理程序,而且问题也发生了。

您能说明重现的步骤吗?是1)使用单个按钮创建Winform 2)运行它3)将鼠标移到按钮上4)按“a”键5)等待150ms 6)单击按钮,结果是没有单击事件?我猜对了吗?快速猜(这绝对是一个猜测)。也许这和一些奇怪的聚焦问题有关。您也可以尝试使用焦点事件进行打印行调试。@MobyDisk我的意思是相反的,如果键入后单击过快,事件将无法触发。因此,请跳过“5)等待150毫秒”并重复几次,以确保速度足够快。此按钮上是否有其他事件?如果在按键按下时单击鼠标,然后在释放鼠标按钮之前松开按键,则会发生这种情况。OnKeyUp()方法重置“mouse is down”标志,这是它需要做的事情,因为按钮可以由鼠标和键盘操作。没有人注意到这一点,因为当按钮有焦点时,除了按空格键之外,使用键盘是没有意义的。你能说明复制的步骤吗?是1)使用单个按钮创建Winform 2)运行它3)将鼠标移到按钮上4)按“a”键5)等待150ms 6)单击按钮,结果是没有单击事件?我猜对了吗?快速猜(这绝对是一个猜测)。也许这和一些奇怪的聚焦问题有关。您也可以尝试使用焦点事件进行打印行调试。@MobyDisk我的意思是相反的,如果键入后单击过快,事件将无法触发。因此,请跳过“5)等待150毫秒”并重复几次,以确保速度足够快。此按钮上是否有其他事件?如果在按键按下时单击鼠标,然后在释放鼠标按钮之前松开按键,则会发生这种情况。OnKeyUp()方法重置“mouse is down”标志,这是它需要做的事情,因为按钮可以由鼠标和键盘操作。没有人注意到这一点,因为除了按空格键外,当按钮有焦点时使用键盘是没有意义的。