您的位置:首页 > 编程语言 > C#

C# WinForm(窗体) 之间传值

2015-04-10 16:29 267 查看
第一个全局变量:

这个最简单,只要把变量描述成static就可以了,在form2中直接引用form1的变量,代码如下:

在form1中定义一个static变量public static int i= 9 ;

Form2中的钮扣按钮如下:

private void button1_Click(object sender, System.EventArgs e)

{

textBox1.Text = Form1.i.ToString();

}

第二个方法是用构造函数:

Form1 的button按钮这样写:

private void button1_Click(object sender, System.EventArgs e)

{

Form2 temp = new Form2( 9 );

temp.Show();

}

Form2 的构造函数这样写:

public Form2( int i )

{

InitializeComponent();

textBox1.Text = i.ToString();

}

第三个方法是用delegate,代码如下:

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中的值就会相应变化。

第一个是双向传值,也就是说,form1和form2改变i的值,另一方也会受到影响。

第三个方法是form1->form2单向传值。

第四个方法是form2->form1单向传值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: