0

我有两个表格,我想来回移动而不会丢失我在两个表格上输入的数据,当我从 form2 返回到 form1 时,数据仍保留在 form1 中,但是当我转到我输入的 form2 时之前的数据,数据都没有了,请问有解决办法吗?

第一种形式:

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中,可以吗?

4

1 回答 1

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();
于 2019-07-02T16:16:53.180 回答