在表单 c# 之间共享数据

本文关键字:共享 数据 之间 表单 | 更新日期: 2023-09-27 18:33:36

我是C#新手,我有一些问题。这是我的代码:

//Form1 
public partial class Form1 : Form
{
    public string name="Adam";
    private void button1_Click(object sender, EventArgs e)
    { 
         name="John";
         Form2 f2=new Form2();
         f2.Show();
    }
}
//Form 2
public partial class Form2 : Form
{
    private void Form2_Load(object sender, EventArgs e)
    {  
        Form1 f1=new Form1();
        textbox1.Text=f1.name;
    }
}

当我单击按钮文本框1(来自Form2)显示"亚当"时,但我应该得到"约翰"

在表单 c# 之间共享数据

当你

还在第一个表单上时传递它:

private void button1_Click(object sender, EventArgs e)
    { 
         name="John";
         Form2 f2=new Form2();
         f2.textBox1.Text = name; // textBox1 must not be private.
         f2.Show();
    }

这永远不会发生。

在 Form2 中,您正在创建一个新的 form1,该窗体 1 的默认值为 "Adam"。如果希望它在 Form1 中显示值,可以选择它使 Form1 将值传递给 Form2

Name = "John";
Form2 f2 = new Form2();
f2.Name = Name;
f2.Show();

在 form2 中,添加"Name"属性,并使用它而不是创建新的 form1。