在C#中怎样在两个Form之间传递数据(Winfrom)?

2024-11-28 06:35:56
推荐回答(2个)
回答1:

代码如下:

Form2中先定义一个delegate
public delegate void returnvalue( int i );
public returnvalue ReturnValue;
form2 中的button按钮代码如下:
private void button1_Click(object sender, System.EventArgs e)
{
    if ( ReturnValue != null )
        ReturnValue( 8 );
}
 
Form1中的button按键如下:
private void button1_Click(object sender, System.EventArgs e)
{
    Form2 temp = new Form2( );
    temp.ReturnValue = new temp.Form2.returnvalue( showvalue );
    temp.Show();
}
 
private void showvalue( int i )
{
    textBox1.Text = i.ToString();
}
 
点击form2的button,form1中的textbox中的值就会相应变化。

回答2:

public class Form1 : System.Windows.Forms.Form//两个窗体之1

{

static string OPC;//静态变量用来保存

public string xx

{

set{OPC=value;}

get{return OPC;}

}

}

public class Form2 : System.Windows.Forms.Form//两个窗体之2

{

Form1 form1=new Form1();

form1.xx=要传递的值;

}

这个时候当执行了Form2后,Form2的值就保存在Form1中的OPC里。

根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……