`
jinvasshole
  • 浏览: 768917 次
文章分类
社区版块
存档分类
最新评论

解决线程中的非模式对话框

 
阅读更多

今天在演示网络编程的时候发现,子线程中的MessageBox.Show竟然不是模式对话框。
而主线程(窗体线程)的MessageBox是模式的。
虽然问题很小,但是可能会带来其他后果,对于程序员而言,任何一个小问题也不能忽视。仔细考虑了一下,主线程的对话框就是针对窗体的,所以是模式的。而子线程的对话框是在该线程上操作,如果要使其成为模式对话框就和主线程之间产生了关系。打开MSDN,其中有一个对话框声明是:MessageBox.Show (IWin32Window, String) ;IWin32Window是Win32句柄的接口,Form类间接实现了该接口,所以可以这样使用:MessageBox.Show((IWin32Window)this,"子线程对话框");在子线程运行后,发现成为了模式对话框。
小结:
1. 对待任何小节都不能忽视,应该用严谨的态度看待,并解决;
2. 线程的操作中可能会产生很多意想不到的问题,应该多测试并细心观察。

分享到:
评论
1 楼 tenwx1 2012-07-09  
正好想找这方面的资料,楼主真细心

相关推荐

    MFC中解决子线程中打开非模态对话框内存泄漏实例(VC++2008)

    子线程中打开非模式对话框内存泄漏问题 这个问题困扰已久 网上没有完整的解决方案;现将实例源代码分享给大家 希望对您有帮助 (代码是VS2008下编写的) 问题原因: 对话框的默认关闭方式模式对话框关闭 而现在是...

    FlowFreeSolverWpf:WPF无流量难题解决器(使用DlxLib)

    在模式对话框中添加一个取消按钮 增加取消求解过程的能力 添加状态栏以显示统计信息 将统计信息重新添加到矩阵中的行数/列数 添加统计信息重新构建矩阵所花费的时间 添加Dlx求解矩阵所需的统计时间 添加用户取消的...

    winrar3.7 Beta8

    <br> 此错误仅存在于 WinRAR 3.60 的多线程模式。 其他平台的 RAR 版本不受影 响。 <br> 2. 解决了一个 WinRAR 3.60 在 Windows 95 中的一个兼容性问题。 <br> 版本 3.60 <br> 1. 多线程版本的...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例140 解决线程的死锁问题 182 6.3 线程的进阶 183 实例141 使用阻塞队列实现线程同步 183 实例142 新建有返回值的线程 184 实例143 使用线程池优化多线程编程 186 实例144 Object类中线程相关的方法 187 实例145 ...

    WINRAR5.0正式注册版

    你可以在压缩对话框中使用 "RAR 5.0" 选项或命令行中 使用 -ma 开关创建 RAR 5.0 压缩文件。 较老的软件,包括老版本的 WinRAR,不能解压 RAR 5.0 压缩文件,所以如果你计划把 一个压缩文件发送给其他人,则需要...

    DirectX修复工具 V3.3标准 绿色版

    程序的“选项”对话框中包含了4项高级功能。点击其中的“注册系统文件夹中所有dll文件”按钮可以自动注册系统文件夹下的所有dll文件。该项功能不仅能修复DirectX的问题,还可以修复系统中很多其他由于dll未注册而...

    Windows 程序设计(第5版)(上、下册)--详细书签版

    11.2.l 模态对话框与非模态对话框的区别 11.2.2 新的 colors程序 11.2.3 hexcalc:窗口还是对话框? 11.3 通用对话框 11.3.l 增强poppad 11.3.2 unicode 文件 i/o 11.3.3 更改字体 11.3.4 ...

    DirectX修复工具 V3.3增强 绿色版

    程序的“选项”对话框中包含了4项高级功能。点击其中的“注册系统文件夹中所有dll文件”按钮可以自动注册系统文件夹下的所有dll文件。该项功能不仅能修复DirectX的问题,还可以修复系统中很多其他由于dll未注册而...

    asp.net知识库

    帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个...

Global site tag (gtag.js) - Google Analytics