2018-12-07
private void btnTest_Click(object sender, EventArgs e)
{
btnTest.Enabled = false;
//Do someThing
//System.Windows.Forms.Application.DoEvents();
//处理当前在消息队列中的所有 Windows 消息。
Application.DoEvents();
btnTest.Enabled = true;
}
个人理解:
在Click事件结束之前,再次触发的Click事件处于等待状态(Windows记录了操作?因为上一次的Click未结束,下一次的Click在等待?)
结束之后,Enalbed=True,则触发了下一次Click事件
本文探讨了在C#中如何在按钮的Click事件处理程序中使用Application.DoEvents()方法。此方法允许在长时间运行的操作中处理UI更新,避免了因事件处理阻塞而引起的界面冻结。通过禁用按钮,执行操作,然后重新启用按钮,确保了用户界面的响应性和操作的流畅性。
5737

被折叠的 条评论
为什么被折叠?



