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);
}