我有两种形式,我想来回移动而不丢失在两种形式上输入的数据,当我从形式2返回到形式1时,数据保留在形式1中,但是当我进入形式2时,我之前输入过数据,数据全部消失了,对此有解决方案吗?
第一种形式:
public userform1()
{
InitializeComponent();
}
private void jThinButton1_Click(object sender, EventArgs e)
{
userform2 form2 = new userform2();
form2.Show();
this.Hide();
form2.Hide();
form2.ShowDialog();
this.Show();
第二种形式:
private void jThinButton3_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
}
从form1返回form2可以正常工作,但是问题是当我在form1中单击下一步时,我丢失了在form2中输入的数据,我想将输入的数据保留在form 2中吗?
答案 0 :(得分:2)
将userform2实例封装在一个只读属性中,该属性将创建一个新实例(如果尚未创建的话)
private userform2 _form2;
private userform2 form2
{
get
{
if (_form2 == null)
_form2 = new userform2();
return _form2;
}
}
然后像这样使用它
this.Hide();
form2.ShowDialog();
this.Show();
现在每当您访问form2
时,它都是与userform2相同的实例。
或者只是如果您只想使用该字段,而是在构造userform1时创建实例。
private userform2 form2 = new userform2();