form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法

时间:2023-12-19 13:43:08

一:form.Show()和form.ShowDialog()的区别

a.

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

//非模式窗体
From qform=new Form();
qform.Show();

//模式窗体
Form qform=new Form();
qform.ShowDialog();

b.

Show方法的调用会立即返回,新窗体显示的同时Show方法调用语句后面的代码会得到执行,没有在当前活动窗体和新窗体间建立任何关系

ShowDialog方法的调用会被阻塞,直到新窗体关闭,ShowDialog方法调用语句后面的代码才能得到执行。只有当建立的新窗口关闭之后,原有窗体才能重新获得控制权。即如果不关闭新窗口,将无法对原活动窗 口进行任何操作。

二:新建一个form

form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法

例题二:

Form2里有个字段:public bool isload{get;set;}

form1里有个click事件,如下:

  form2 f2=new form2;

  f2.showDialog();

f2里有个closing事件,

  f2.isload=true;

Form2里的isload的值是多少?

结果:isload还是默认值,没有改变。因为f2继承了form2的字段,f2.isload=true只是将子窗口的字段置为true,而父窗口的字段根本没有变化,一定要分清是在哪个窗口里进行操作,分清是哪个窗口的属性,是不是继承过来的。

三:MessageBox.Show()的常见用法

a.给消息框加上一个标题

form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法

b.根据消息框的选择,使用if条件判断,要执行什么操作

form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法

b.1(根据消息框的选择,使用if条件判断,要执行什么操作)可以加一个图标

form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法

b.2(根据消息框的选择,使用if条件判断,要执行什么操作,有一个图标)有默认的焦点

form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法

b.3(根据消息框的选择,使用if条件判断,要执行什么操作,有一个图标,有默认的焦点)按钮反向显示

form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法

b.4(根据消息框的选择,使用if条件判断,要执行什么操作,有一个图标,有默认的焦点)添加help按钮

form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法

c.

form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法