WinForm显示窗体的两种方法(又涨了一些神奇的知识哈哈哈)
Winform显示窗体方法有如下两种:(借鉴:http://blog.csdn.net/haibinglong/article/details/7311175)
Form.Show() 无模式窗体
示例如下
Form1 f1 = new Form1 ();
f1.Show ();
Form.ShowDialog() 模式窗体
示例如下
Form2 f2 = new Form2 ( );
f2.ShowDialog ( this );
2者具体区别如下:
1.在调用Form.Show方法后,Show方法后面的代码会立即执行
2.在调用Form.ShowDialog方法后,直到关闭对话框后,才执行此方法后面的代码
怎么判断一个窗体是模式窗体呢?
利用Form.Modal属性,如果该窗体是模式显示,则为true,否则为false
根据通过Show和ShowDialog而显示出来的窗体的Modal属性分别对应false和true
(注:modal属性只有在窗体load事件中或者之后才可以查出,窗体创建之前时无法得知此案时方式的,因此在窗体构造函数中Modal属性总是false)
区别(亲测)
1.调用Show方法后,代码会立即执行,而调用ShowDialog后直到关闭窗体,才会执行其后方法
2.窗体为调用模式时,无法点击除该窗体以外的窗体
3.当窗体调用为模式窗体时,点击“关闭”按钮会隐藏窗体,并将DialogResult属性设置为DialogResult.Cancel;与无模式窗体不同,当用户单击对话框的关闭按钮,或设置DialogResult属性的值时,不调用窗体的Close方法;实际上时把窗体的Visible属性赋值为False,隐藏窗体了。
这样隐藏的窗体时可以重新显示的,而不用创建该对话框的新实例
因为未关闭窗体,所以在应用程序不再需要该窗体时,使用Dispose方法
总结
也是参考一些文章,才写出来了这一篇不算好的文章(匆匆忙忙写的),有什么问题欢迎大家在下方留言

本文介绍了WinForm中使用Show()和ShowDialog()两种方法显示窗体的区别。Show()创建无模式窗体,后续代码会立即执行;而ShowDialog()创建模式窗体,直至关闭窗体后,后续代码才会执行。模式窗体不允许用户与其它窗体交互,关闭时DialogResult属性会被设置。此外,模式窗体关闭后可通过Visible属性重新显示,无需创建新实例。了解这些区别有助于更好地控制窗体的显示行为。
529

被折叠的 条评论
为什么被折叠?



