标题:C# 窗体应用程序的 Topmost 属性设置为true后,messagebox.show 的问题
只看楼主
xforever
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2011-5-9
 问题点数:0 回复次数:3 
C# 窗体应用程序的 Topmost 属性设置为true后,messagebox.show 的问题
    用 C# 基于VS2010编制了一个小程序,该程序的大体作用是:当我点击窗体上的“开始计算”按钮后,就开始计算数据(计算过程要花费一段时间),当把数据计算完毕后会弹出一个messagebox ,提示说计算完毕。
    现在出现的一个问题是:当我把窗体的 Topmost 属性设置为 true 后,我点击“开始计算”按钮后(程序就开始计算了),在弹出 messagbox 之前,我点击了桌面上的其他东西(比如我打开了一个浏览器,此时窗体就变成了非活动窗体),之后弹出的messagebox就只显示在电脑的任务栏中,在桌面上就看不到它了,我在任务栏上点击messagebox也不起作用。这样造成的后果就是:对窗体不能做其他任何操作了(因为只有我们处理了这个弹出的messagebox后代码才能做下一步的操作)。
   请哪位朋友帮忙给解释下这其中的原因,谢谢了。
搜索更多相关主题的帖子: 浏览器 应用程序 任务栏 时间 
2011-05-09 10:08
zzc0816
Rank: 1
等 级:新手上路
帖 子:61
专家分:7
注 册:2006-9-14
得分:0 
你是不是只是单纯的显示了一个Messagebox?
并没有 Yes or No的操作?
如果单纯的现实一个Messagebox下面的代码会顺序的执行完,你需要增加操作。
还有如果长时间的计算对界面显示会有影响,会卡顿在那里

2011-05-09 10:38
xforever
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2011-5-9
得分:0 
感谢上面朋友的回帖,谢谢了啊。我找到问题的原因了,是因为 Topmost 属性设置为 true 后,当窗体成为非活动窗体后,弹出的那个messagebox 就隐藏在了窗体的后面了。谢谢你的帮助啊。
2011-05-15 09:33
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
这个好说,不要Topmost就好!

   唯实惟新 至诚致志
2011-05-15 09:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-339249-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022905 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved