主题:showdialog()和show()的区别?请各位高手指点一二....
huyun2008
[专家分:90] 发布于 2005-11-18 09:15:00
showdialog()和show()的区别?他们都可以调用一个窗口..
请各位高手指点一二....
回复列表 (共6个回复)
沙发
宝宝啊呜 [专家分:990] 发布于 2005-11-18 10:27:00
普通来讲,调用是一样的,但是细节方面是不一样的
比如说,在主窗体有一个DataGrid控件和一个Button按钮,另外有一个子窗体,作用是用来对主窗体中的数据进行添加、修改和删除等。
如果用show()显示出子窗体的话,那么,在子窗体的操作完成后,是不会再调用到主窗体show()下面的语句了。也就是说DataGrid里的数据无法再刷新。
而如果是用showdialog(),本窗体将会失去焦点。在子窗体的操作完成后,才会继续调用到主窗体下面的语句。例如在showdialog()后面还有一个调用refreshDate()过程的话,在子窗体被关闭后,将会刷新DATAGRID里的数据。
show()只是普通的显示,而showdialog()则可以在显示后,禁用当前窗体,当执行完新窗体的操作后,再继续当前窗体的语句。
我就发现有这么个区别,其他的还真不知道……
楼下的来补充吧。学习……
板凳
zergvb [专家分:780] 发布于 2005-11-18 12:30:00
一个是有模式对话框,一个是无模式对话框
3 楼
chaoyun2004 [专家分:400] 发布于 2005-11-18 14:12:00
showdialog(),出来的窗体会得到焦点,在关闭之前焦点是不会转移到其他窗体的。
show(),出来的窗体,焦点可以在不同窗体之间转移。
4 楼
sunlw [专家分:20] 发布于 2005-11-18 14:59:00
[em2]
5 楼
wps [专家分:10] 发布于 2005-11-21 15:28:00
showdialog()是模态窗体,在关闭子窗体前不能使用父窗体;
show()非模态窗体,只是单纯的调出另一个窗体,不影响父窗体的操作.
6 楼
listen12345 [专家分:260] 发布于 2005-12-22 15:54:00
這種問題需要問嗎?
我来回复