社区
C#
帖子详情
有关DoEvents的问题?
fq_lucky
2005-10-25 05:21:52
各位老师,我的一个Thread中有一个while(true)的循环,
为了响应窗口及鼠标等动作,我在里面放了Application.doevents();
但是,运行程序后,移动窗体还没问题,但窗体上的button等都
点不了,没反应,窗体上显示“(没有响应)”,请问是什么原因,
谢谢!
...全文
187
6
打赏
收藏
有关DoEvents的问题?
各位老师,我的一个Thread中有一个while(true)的循环, 为了响应窗口及鼠标等动作,我在里面放了Application.doevents(); 但是,运行程序后,移动窗体还没问题,但窗体上的button等都 点不了,没反应,窗体上显示“(没有响应)”,请问是什么原因, 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhy0101
2005-10-26
打赏
举报
回复
可能循环太快了,来不及接受点击消息到消息队列。
fq_lucky
2005-10-26
打赏
举报
回复
哪位帮帮忙亚
JasonHeung
2005-10-26
打赏
举报
回复
使用:
Thread.Sleep(200);
xingshi310
2005-10-26
打赏
举报
回复
不要进行while(true)的死循环,可以利用事件触发机制活着让线程sleep一段时间。以释放系统资源进行其他操作
CruelYoung123
2005-10-26
打赏
举报
回复
用了多线程的话就不用这个了吧?
s5689412
2005-10-26
打赏
举报
回复
不要对Application.DoEvents()太过乐观了。
比如我刚才测试了一下,
private void Form1_Load(object sender, System.EventArgs e)
{
while (true)
{
Application.DoEvents();
}
}
Form根本无法显示出来。
所以建议还是另想办法,重新设计或者尝试用多线程(如果必要的话)。
BTW:从VB转到.NET的很多人习惯用这个函数来让自己的界面有响应,不过个人认为这个方法不是很好。
Do
Events
语句的API升级版Do
events
2
Do
Events
语句的API升级版Do
events
2
c#语言的do
events
示例
do
events
处理需要两次按钮点击才能实现功能,其实质是第一次点击使得引发do
events
的事件失去焦点,第二次才是进入期待的按钮事件,所以需要在进入引用do
events
的按钮时,先要使用focus命令失去焦点,外部按钮才会在第一次点击时就能得到触发。
模拟VB的Do
Events
函数
模拟VB的Do
Events
函数
C# Application.Do
Events
() 防界面假死例子。
请自行测试有Application.Do
Events
() 和没有Application.Do
Events
()的区别,即可。 有疑问可发送Email给我: Andrew.Wangxu@gmail.com
wxh do
events
.zip
do
events
.zipdo
events
.zip
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章