更新表单标签而不是创建新表单

时间:2016-12-27 18:20:20

标签: c# winforms

我有两种不同的表单form1form2。当我在form2上的文本框中插入文字并确认其为白色按钮时,form1会创建新的(打开的)form1更新数据,而不是更新现有的表单。

private void button1_Click(object sender, EventArgs e)
    {
              //This is my problem
                text = textBox1.Text;
                new Form1().Show();
                this.Close();
    }

有没有办法将new更改为update?我是新形式的人。 有我尝试做的照片示例。 Example1 http://image.prntscr.com/image/49199c0bad634930a150460b3538957f.png

我想以第二种形式输入数据后更新相同的表格。

Example2 http://image.prntscr.com/image/551080f009c7449eb1f04783b2cae97e.png

2 个答案:

答案 0 :(得分:1)

在第二个表单中创建一个属性,您可以在打开第二个表单之前设置该属性。使该属性成为引用类型。第二个表单关闭后,您的引用类型将具有该值。像这样:

第二表格:

SomeObject FormOneNeedsThis { get; set; }

第一表格:

SomeObject a = new SomeObject();
secondForm.FormOneNeedsThis = a;

关闭第二张表格后,第一张表格可以这样做:

this.someLabel.Text = a.SomeProperty;

答案 1 :(得分:1)

您正在显式创建类Form1的新实例,并在第5行调用方法“Show()”。

为了更好地完成你想要的东西,我会改用这样的东西:

在Form2中:

1)根据情况将DialogResult属性分配给按钮为“OK”或“Cancel”。您不需要在Form2上的按钮上定义OnClick事件

2)将文本框的Modifiers属性设置为“public”

在Form1中:

在打开对话框的方法中:

GuruFocusKeyRatioSymbol