不会吧你还不知道WinForm显示窗体有两种方法?

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

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方法

总结

也是参考一些文章,才写出来了这一篇不算好的文章(匆匆忙忙写的),有什么问题欢迎大家在下方留言
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忆梦九洲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值