用Form1表示原窗体,使用Form2表示新显示的窗体,它们之间存在“Form1->Form2”的导航关系。
显示Form2有两种方式-调用Form2的Show方法或调用ShowDialog方法。Show方法将Form2作为普通的窗体显示出来,而ShowDialog方法则将其作为模式对话框进行显示。这两种方法的区别在于,对Show方法的调用立即返回,Form1继续执行Show方法调用后面的代码,而对ShowDialog的调用将被阻塞,直到Form2被关闭为止。
另外,ShowDialog方法显示对话框后还能接收到一个返回值,表示用户在对话框中进行操作的结果。只需在Form2中的恰当位置将其自身的DialogResult属性设置为DialogResoult枚举的某个值之一,就可以关闭Form2并向Form1返回这个DialogResult值。
常用的窗体间属性、构造器之外的一种传递值的方法:
可以在第一个窗体中定义一个static public 变量,用它来传递数据
如:
Form1.cs文件中:
static public string str;
private Form2 frm = new Form2();
private void button1_Click(object sender, System.EventArgs e)
{
str = textBox1.Text;
frm.Show();
this.Hide();
}
Form2.cs文件中:
private void Form2_Load(object sender, System.EventArgs e)
{
textBox1.Text = Form1.str;
}
如果str被声明为 public 而不是 static public 则必须声明一个Form1的实例才能使用.