c# Form的Show和ShowDialog的区别

发布时间:2017-11-22 09:47:04编辑:佚名阅读(548)

1.任何窗体(派生于基类Form的类),都可以以两种方式进行显示。

//非模态窗体
From form=new Form();
form.Show();
//模态窗体
Form form=new Form();
form.ShowDialog();

2.Show方法的调用会立即返回,新窗体显示的同时Show方法调用语句后面的代码会得到执行,没有在当前活动窗体和新窗体间建立任何关系。ShowDialog方法的调用会被阻塞,直到新窗体关闭,ShowDialog方法调用语句后面的代码才能得到执行。只有当建立的新窗口关闭之后,原有窗体才能重新获得控制权。即如果不关闭新窗口,将无法对原活动窗 口进行任何操作。非模态窗口在关闭时,会调用close方法,进而调用dispose方法,将窗口资源进行回收,所以窗口关闭后,不能在获取窗口信息。模态窗口在关闭时,不会调用close方法,也不调用dispose方法,窗口仍然存在,占有资源,所以可以继续获得窗口相关信息,在窗口不再使用时,需要手动释放资源。

  关键字:c#FormShow和ShowDialog的区别


鼓掌

0

正能量

0

0

呵呵

0


评论区