WinForm显示窗体的两种方法:(借鉴:http://blog.youkuaiyun.com/haibinglong/article/details/7311175)
Form.Show() 无模式窗体 form.Modal=false
Form.ShowDialog() 模式窗体form.Modal =true
(注:modal属性只有在窗体load事件中或者之后才可以查出,窗体创建之前时无法得知此案时方式的,因此在窗体构造函数中Modal属性总是false)
区别(亲测):
(1)调用From.Show()方法后,Show方法后的代码会立即被执行;而在调用From.ShowDialog方法后,直到关闭窗体,才会执行其后方法
(2)当窗体调用为模式窗体时,点击“关闭”按钮会隐藏窗体,并将DialogResult属性设置为DialogResult.Cancel;与无模式窗体不同,当用户单击对话框的关闭按钮,或设置DialogResult属性的值时,不调用窗体的Close方法;实际上时把窗体的Visible属性赋值为False,隐藏窗体了。
这样隐藏的窗体时可以重新显示的,而不用创建该对话框的新实例
因为未关闭窗体,所以在应用程序不再需要该窗体时,使用Dispose方法
(3)窗体调用为模式时,无法再点击该窗体以外的窗体