如何限制用户双击任何命令按钮

时间:2013-01-07 10:24:55

标签: c# winforms silverlight

我面临的一个问题是限制用户双击命令按钮。它的作用是执行它在click事件中写入的代码的两倍。我已经阅读了很多解决方案,我觉得这些解决方案无关紧要。他们说,命令按钮应该在执行单击后禁用,这样用户将无法再执行一次单击。这将在发生错误时创建一个问题,并且为启用该按钮而编写的代码不会执行。

还有其他办法吗?如果有人有更好的选择,请建议。

2 个答案:

答案 0 :(得分:1)

您可以将其停用,并将所有代码放在trycatchfinally子句中,并将启用代码放在finally中。

Give it a read.

这样它应该总是运行,异常与否。

答案 1 :(得分:1)

我假设你指的是WPF,因为Windows Forms有一个特定的双击事件,可以忽略不计。

不幸的是,WPF没有区分双击按钮和单击按钮两次。这意味着您必须执行检查以查看第二次单击是否过早发生,以便第一次单击被视为。

这可以通过将DateTime.Now存储在按钮单击事件处理程序中的成员变量中来完成,如果单击发生在上一次单击的时间太短之内,则只需指示按钮单击事件已处理并且没有做任何事情就回来。