问题简单,求更好方法!

wwmwenzhu 2008-12-11 11:05:09
一个父窗口A,通过菜单调用一个子窗口B,子窗口在构造时要加载一个文件,加载失败时子窗口不显示!
我的实现方法是在子窗口的构造寒暑加一个标志:B(ref bool flag){},然后A在调用B时判断是否成功
成功则show,否则返回!
大家有没有更好的方法?
两天结帖!!抢分quickly!!
...全文
265 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr-Jee 2008-12-11
  • 打赏
  • 举报
回复
我感觉使用委托还好
楼主可以参考下
龙宜坡 2008-12-11
  • 打赏
  • 举报
回复
抢分quickly!!
GTX280 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hulihui 的回复:]
这个通过返回码的方式是MFC的标准处理模式,在.NET不推荐这么做。
按《.NET设计规范》,应在B的构造函数中throw Exception,其中Exception与你读文件最密切的异常。。
[/Quote]
这个方法不错,在A中捕获异常进行处理 
panw520 2008-12-11
  • 打赏
  • 举报
回复
貌似LZ的方法已经不错了!
tankun0601 2008-12-11
  • 打赏
  • 举报
回复
你自己的方法就挺好啊
长沙三毛 2008-12-11
  • 打赏
  • 举报
回复
这个通过返回码的方式是MFC的标准处理模式,在.NET不推荐这么做。
按《.NET设计规范》,应在B的构造函数中throw Exception,其中Exception与你读文件最密切的异常。。
qiying1988 2008-12-11
  • 打赏
  • 举报
回复
mark
yilanwuyu123 2008-12-11
  • 打赏
  • 举报
回复
这样处理不挺好的么
jummy_lin 2008-12-11
  • 打赏
  • 举报
回复
可以在四个位置写启动代码
1:构造函数
2:建立一个共有的Init()函数,在show之前调用
3:Form_Load
4: Form_Show
你可以这么做,方法1:构造函数中不要去加载文件(如果文件较大,则B画面很久都不会起来),而在show之前,调用公有的Init方法去加载,并设置标志位。
方法2:Form_Load中什么都不做 在Form_show中加载文件,如果加载失败,则Message提示用户,然后关闭画面,否则加载(这么做的好处是:用户会直接看到画面,即使你要加载的文件没有加载完全,这样用户会友好一点:我们公司原先要求这么做,是伊朗的技术经理提出来的,项目是日本外包项目)
个人更提倡方法2 。方法一使用于启动较快的(需要加载的文件较小的画面)

quincystar 2008-12-11
  • 打赏
  • 举报
回复
调用不成功的话直接返回,也没有任何提示信息,是不是不太友好?
gogogo 2008-12-11
  • 打赏
  • 举报
回复
你的方法就不错,要不就是给子窗口添加一个属性,访问属性的值决定是否成功。
starluck 2008-12-11
  • 打赏
  • 举报
回复


這個方法挺好的。你說下這個方法的缺點對於你這個來說,我們才好提建議啊。 :)
yashaov 2008-12-11
  • 打赏
  • 举报
回复
应该没了吧,你用的方法,是比较直接的.也算比较简单,一目了然的东西了.
mm6268 2008-12-11
  • 打赏
  • 举报
回复
沙发一下,考虑考虑
我姓区不姓区 2008-12-11
  • 打赏
  • 举报
回复
这个方法就挺好啊
mawering 2008-12-11
  • 打赏
  • 举报
回复
学习了!
Jack_xiao 2008-12-11
  • 打赏
  • 举报
回复
up up
gxj760998 2008-12-11
  • 打赏
  • 举报
回复
或者在FORM中扩展一个字段,并重写其SHOW函数!
这样可以将涉及的范围缩小很多,实现自我管理。
CruelYoung123 2008-12-11
  • 打赏
  • 举报
回复
在load事件中。。。
读取文件。。失败。。。直接this.close()就可以了吧
vrhero 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hulihui 的回复:]
这个通过返回码的方式是MFC的标准处理模式,在.NET不推荐这么做。
按《.NET设计规范》,应在B的构造函数中throw Exception,其中Exception与你读文件最密切的异常。。
[/Quote]
如果仅仅是“加载失败时子窗口不显示”,并没有说要将异常通知用户,我不觉得抛异常有什么高明之处...

设计规范是死的,人是活的...
加载更多回复(6)

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧