C# 在表单c之间共享数据#
我是c#的新手,有一些问题。 这是我的代码:C# 在表单c之间共享数据#,c#,C#,我是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(); } } /
//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(来自表单2)显示“亚当”,但我应该得到“约翰”这永远不会发生 在Form2内部,您正在创建一个新的form1,其默认值为“Adam”。 如果希望它在Form1中显示值,可以选择让Form1将值传递给Form2
Name = "John";
Form2 f2 = new Form2();
f2.Name = Name;
f2.Show();
在form2中,添加“Name”属性,并使用它,而不是创建新的form1。在您仍然使用第一个表单时传递它:
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的构造函数创建重载或创建公共方法。