【发布时间】:2013-11-11 12:04:09
【问题描述】:
我在 C#.Net 中开发了一个 Windows 窗体应用程序。应用程序中有多种形式。主窗体说 frmA 有一个按钮说 btnA。单击 btnA 时,打开新表单说 frmB,frmB 位于 frmB 后面。 frmB 还有一个按钮,说 btnB,btnB 在 frmB 上的位置(位置)与 btnA 在 frmA 上的位置完全相同。单击 btnB 时,会发生一些不同的操作。
现在我的问题是一些应用程序用户双击 btnA。我得到了两次单击背靠背。在第一次单击 btnA 时,frmB 会用 btnB 打开。第二次单击立即在 btnB 上执行,实际上用户甚至看不到 frmB。
我的限制是我无法更改任一表单上按钮的位置。无论如何我可以处理这个问题吗?
【问题讨论】:
-
您可以启动一个持续时间较短的计时器,在此期间您不再处理任何点击。
-
你可以绑定Button.DoubleClick event并禁止它。
-
附加一个双击事件,然后从该事件中调用默认的单击事件,这使得单击和双击执行相同的操作。