![]() |
1
5
确保禁用按钮或执行的任何其他锁定是在事件处理程序中执行的/first/操作。如果你能在第一条指令触发之前将两个点击事件排队,我会非常惊讶,但是如果你在一台速度非常慢的计算机上,而这台计算机被其他应用程序困住了,我想这是可能的。 在这种情况下,请使用标志。
如果你仍然可以点击两下这样的东西,那么确保你不是意外订阅了一个双击事件,或者其他任何不稳定的事情正在发生。 |
![]() |
2
3
你处理这件事两次了吗? 我是 非常 令人惊讶的是,第二次点击是在你可以禁用按钮之前。我会确保你不会两次参加这个活动。我以前是偶然做的。然后你会得到两个事件,几乎是瞬间的。 |
![]() |
3
1
在按钮事件处理程序完成之前,不会设置该按钮上的禁用标志,并且任何其他单击都将在第一次单击之后的Windows消息队列中排队。确保按钮事件处理程序快速完成以释放UI线程。有几种方法可以做到这一点,但都涉及到EATHER生成一个线程或保持一个工作线程就绪并等待一个autoreseteevent。 |
![]() |
4
0
你有没有在按钮上贴上图标?无论如何,使用代码来防止同时运行两个进程,但是如果您的按钮看起来和行为类似于常规的命令按钮(矩形,仅文本标签,“凸起”的表面,单击时会降低),则可以减少在人的一侧双击。只是一个想法。 |
![]() |
5
0
单击按钮后立即禁用。因此,事件不能处理两次。一旦事件处理完毕,您就可以重新启用该按钮。 |
![]() |
6
0
如果充其量只是些轶事,那么经过核对的答案就很接近了。对于没有意识的人来说,它缺少太多的代码而没有意义。我写了一篇关于使用计时器和线程的文章,代码示例非常容易理解。尝试阅读它,并通过在新线程中运行任务进程来查看是否可以从上面的示例中设置标志: |
![]() |
7
-1
在用户第一次单击按钮之后和开始任务之前禁用该按钮。任务完成后,重新启用按钮。 |
![]() |
8
-3
如果WinForms本身是单线程的,那么在第一个线程的处理完成之前,第二次单击就不可能触发(除非您使用新线程或BackgroundWorkers等)。 你能给我们看一个例子说明你的问题吗? |
![]() |
cheese-berry · Chrome扩展:点击后弹出图像更改 2 年前 |
![]() |
Joshep95 · 点击按钮后,防止重新加载页面 3 年前 |
![]() |
Vlad Rotaru · 如何在按钮中心添加两行 3 年前 |
![]() |
spin99 · 点击按钮时如何结束倒计时? 3 年前 |
![]() |
Paulisto · 表单按钮拒绝执行javascript除法函数 3 年前 |
![]() |
Nag Arjun · 带模板参考变量的角度按钮单击不起作用 3 年前 |
![]() |
Fadrick · 使用按钮[duplicate]在两个div之间切换 3 年前 |