Form的show()和showDialog()

注意:代码为手写,用时要自己检查写法。

        Show()和ShowDialog()方法可以实现用户和应用程序的交互。

       Show()缺点:没有给调用代码改善任何通知。在调用Show()方法后,Show方法后面的代码会立即执行。

       ShowDialog():调用ShowDialog()方法后,调用代码会被暂停执行,等到调用ShowDialog()方法的窗体关闭后再继续执行。而且窗体也可以返回一个DialogResult值。(DialogResult枚举是一组标识符,描述窗口关闭的原因,包括:OK、Cancel、Yes、No等。)为了让窗口返回一个DialogResult值中,必须设置窗体的DialogResult属性,或者在窗体的一个按钮上设置DialogResult属性。

 

Form2 中的InitializeComponent();//下面增加2行代码 btnOk.DialogResult=DialogResult.OK; btnCancel.DialogResult=DialogResult.Cancel; //设置参数,在其父窗口要获得的参数 public string PhoneNumber { get{return textBox1.Text;} set{textBox1.Text=value;} } 在其父窗口中调用 Form2 f2=new Form2(); f2.ShowDialog(); if(f2.DialogResult==DialogResult.OK) { label1.Text="获得的号码是"+f2.PhoneNumber; } else if(f2.DialogResult==DialogResult.Cancel) { label1.Text="用户取消了操作。"; } f2.Close();

上面的这个是一个简单的调用。如果,返回的号码不正确,该怎么办?如果把ShowDialog()放在循环中就可以再次调用它了,让用户重新输入值。(注意Cancel按钮,还必须处理DialogResult.Cancel)

Form2 f2=new Form2(); while(true) { f2.ShowDialog(); if(f2.DialogResult==DialogResult.OK) { label1.Text="号码:"+f2.PhoneNumber; if(f2.PhoneNumber.Length==8| f2.PhoneNumber.Length==12) { break; } else { MessageBox.Show("号码格式错误"); } } else if (f2.DialogResult==DialogResult.Cancel) { label1.Text="用户取消"; break; } } f2.Close();

 

你可能感兴趣的:(Form的show()和showDialog())