C# 在2个表单中使用ref。。?

C# 在2个表单中使用ref。。?,c#,.net,winforms,C#,.net,Winforms,我有两张表格 从第一个表格我叫第二个表格。。。在第二个表格中,我做了一些计算,我想在结束第二个表格后得到第一个表格中的结果 第一格式代码 第二表格代码 你可以做很多事情 但最简单的方法是在第二个表单上创建一个属性,将结果放在其中,并在ShowDialog之后从第一个表单调用它,比如MessageBox.Showx.MyProperty 您可以使用属性,对吗?为什么要通过byRef传递参数 Button_click(){ using(var form2 = new Form2())

我有两张表格

从第一个表格我叫第二个表格。。。在第二个表格中,我做了一些计算,我想在结束第二个表格后得到第一个表格中的结果

第一格式代码 第二表格代码
你可以做很多事情


但最简单的方法是在第二个表单上创建一个属性,将结果放在其中,并在ShowDialog之后从第一个表单调用它,比如MessageBox.Showx.MyProperty

您可以使用属性,对吗?为什么要通过byRef传递参数

Button_click(){
    using(var form2 = new Form2())
    {
        form2.Property = initialValue;
        form2.ShowDialog();
        MessageBox.Show(form2.Property);
    }
}

您可以使用构造函数传递值并从属性获取值,而不是使用get set属性。

以第二种形式创建公共字段/属性

//public property
public string Data { get;set;}

private void simpleButton1_Click(object sender, EventArgs e)
{
   Data="Something you want to return back to 1st Form";
   this.Close();
}
在第一份表格中

private void simpleButton1_Click(object sender, EventArgs e)
{
  s = textEdit1.Text;
  XtraForm2 x = new XtraForm2(ref s);

  x.ShowDialog();
  MessageBox.Show(x.Data); 
}

另一种可能是使用静态变量:

public static string _form2Data = null;

private void simpleButton1_Click(object sender, EventArgs e)   
{   
    _form2Data = "something";     
    this.Close();   
}

您可以创建类似于模型的类并声明所有变量 并使用set编辑数据并获取数据

Public class cs1
{
   private int m_id=0;

public int ID
{
    get
    {
        return m_id;
    }
    set
    {
        m_id = value;
    }
}

}
public static string _form2Data = null;

private void simpleButton1_Click(object sender, EventArgs e)   
{   
    _form2Data = "something";     
    this.Close();   
}
Public class cs1
{
   private int m_id=0;

public int ID
{
    get
    {
        return m_id;
    }
    set
    {
        m_id = value;
    }
}

}