当前位置: 首页 > news >正文

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

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博客

http://www.lryc.cn/news/383921.html

相关文章:

  • 谷歌SEO是什么意思?
  • IPFoxy Tips:匿名海外代理IP的使用方法及注意事项
  • 【MySQL进阶之路 | 小结篇】MySQL键约束KEY与索引INDEX
  • 【中学教资科目二】02中学课程
  • Stable Diffusion 亲测这几个SDXL大模型,真的非常好用!
  • DLS策略洞察:如何应对AI数据中心网络交换机市场的爆发式增长?
  • 数据仓库架构设计
  • EasyExcel动态表头多sheet录入,单元格操作样式,自动修改单元格格式
  • Linux的设备模型
  • 初始化一个Android项目时,Android Studio会自动生成一些文件和目录结构,以帮助你快速上手开发
  • 社区团购小程序开发
  • 数据分析python基础实战分析
  • 英语笔记-专升本
  • 什么野指针(c++)
  • 【编译原理】绪论
  • 优化Docker部署:解决Java应用ExcelGenerateException并提速镜像构建
  • 你了解RabbitMQ、RocketMQ和Kafka吗?
  • python实现可视化大屏(django+pyechars)
  • Leetcode 力扣 125. 验证回文串 (抖音号:708231408)
  • Java程序递归及mybatis递归查询
  • 苹果电脑安装双系统步骤 教你苹果电脑如何装双系统
  • Axios-入门
  • Python22 Pandas库
  • 不同表格式下的小文件治理方式(开源RC file/ORC/Text非事务表、事务表、Holodesk表格式..)
  • 0.7 模拟电视标准 PAL 简介
  • vue项目中封装element分页组件
  • linux下docker安装与镜像容器管理
  • 【Unity】RPG2D龙城纷争(六)关卡编辑器之角色编辑
  • 【鸿蒙】鸿蒙的Stage和 FA 有什么区别
  • JAVA小知识29:IO流(上)