找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 2833|回复: 0

C#多线程状态下MessageBox非模式问题的解决

[复制链接]
发表于 2014-3-2 11:42:06 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
本帖最后由 0x过 于 2014-3-2 11:43 编辑

参考一位博友包子童鞋的)在使用多线程的同时,如果在非主线程中使用了MessageBox.show则会造成主线程窗体仍处于激活状态,MessageBox没有起到模式窗体的作用。以下我写了实例代码,在一个用委托创建的线程中使用了MessageBox造成窗体依旧处于活动状态:
这里他用VB 我就用C# 大体说下:
和前面我说的调用 使用委托,然后进行invoke 方法进行调回原来的UI一样:  http://www.0xaa55.com/thread-298-1-1.html
主要代码:
                  ass tishi = delegate()
                        {
                          MessageBox.Show("时间到了,起来尿尿了");
                        }; this.Invoke(tishi);

回复

使用道具 举报

本版积分规则

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-11-22 18:18 , Processed in 0.031874 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表