C# 如何从另一个窗体传递数据并返回
我一直在试着让它工作。我相信我写的是对的 表格一C# 如何从另一个窗体传递数据并返回,c#,windows-forms-designer,C#,Windows Forms Designer,我一直在试着让它工作。我相信我写的是对的 表格一 private string _temp; public string Temp { get { return _temp; } set { _temp = value; } } private void button1_Click(object sender, EventArgs e) { _temp = "test"; } 表格二 private void button1_Click(object sender, E
private string _temp;
public string Temp
{
get { return _temp; }
set { _temp = value; }
}
private void button1_Click(object sender, EventArgs e)
{
_temp = "test";
}
表格二
private void button1_Click(object sender, EventArgs e)
{
Form1 main = new Form1();
MessageBox.Show(main.Temp);
}
您必须通过
sender
参数获取对Form1
实例的引用(假设Form2
的按钮1\u点击处理程序附加到Form1
上的按钮):
有什么问题吗?您还没有描述此代码的任何问题。我正在尝试从Form 1到Form 2获取Temp的值,可能是我尝试检查“main.Temp”是否有任何值,但它只是说它为null。您创建表单的新实例,然后从属性中提取值-默认情况下,它为null。这是预期的。为什么要创建表单的实例?为什么不将它保存在一个全局私有变量中,并访问它,然后获得您正在为其提取数据的相同实例,或者将变量值传递给下一个表单?
//Form2
private void button1_Click(object sender, EventArgs e)
{
Button button = (Button) sender;
Form1 main = (Form1) button.FindForm();
MessageBox.Show(main.Temp);
}