c#中有两个窗体。

来源:百度知道 编辑:UC知道 时间:2024/06/07 13:18:23
从第一个窗体中点击按钮打开第二个窗体后,在第二个窗体中的textbox写了一些东西,然后关闭第二个窗体,回到第一个窗体。再从第一个窗体打开第二个窗体,此时原来写的东西不在了。要这样才能使第二次打开第二个窗体时,第一次写的东西还在?

首先,新窗体(例如TestForm )要在第一个窗体定义成全局变量,例如

TestForm tf = new TestForm();
然后在点按钮时例如
private void ShowTestDlgBtn_Click(object sender, EventArgs e)
{
tf.ShowDialog();
}
这样新窗口即使关了,再点按钮,原来写的东西还是在的。

刚刚试过,没问题

在Form1中定义一个public string f1="";
在从第一个窗体打开第二个窗体时的代码中添加
Form2 fm2=new Form2();
fm2.f2=f1;

在Form2中定义一个public string f2="";
在关闭第二个窗体时回到第一个窗体的代码中添加
Form1 fm1=new Form1();
fm1.f1=textbox1.Text;
在Form2的FormLoad事件里添加代码:
textbox1.Text=f2;