0
点赞
收藏
分享

微信扫一扫

C# Winform按钮避免重复点击以及解决WinForm中设置Enabled=False为什么还会响应Click事件

穆熙沐 2024-06-27 阅读 31

1、C# Winform按钮避免重复点击 代码如下

btn.Enable=false;

//执行任务的函数或代码

btn.Enable=true;

 在btn.Enable=true前添加Application.DoEvents();

就是让应用程序的消息队列自动走完(即在按钮为Ture前清空消息队列)。

2、解决WinForm中设置Enabled=False为什么还会响应Click事件

这是因为消息机制引起的问题,如果处理click事件的函数执行时间过长,那么下一次点击的消息会存入消息队列,等到当前click处理函数退出以后,再从消息队列获取此消息执行。你可以使用笔者提供的代码,多次点击button,你会看到多次的重复执行。

解决方法

在btn.Enable=true前添加Application.DoEvents(); 

就是让应用程序的消息队列自动走完(即在按钮为Ture前清空消息队列)。

参考链接:C# Winform按钮避免重复点击-CSDN博客

举报

相关推荐

0 条评论