第一个方法设全局变量:
双向传值,也就是说,form1和form2改变i的值,另一方也会受到影响。
这个最简单,只要把变量描述成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 的构造函数这样写:
是form1->form2单向传值。
public Form2( int i )
{
InitializeComponent();
textBox1.Text = i.ToString();
//注意以上两句代码的位置不能交换 不然会显示未将对象应用到实例!!!!!
}
第三个方法是 通过属性进行传值
Form1 的button按钮这样写:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1 .Text =="")
{
MessageBox.Show("请输入信息!!");
}
else
{
this.Hide();
Form2 children = new Form4();
children.Pass = textBox1.Text;
children.Show();
}
Form2中这样写
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private string pass;
public string Pass
{
get
{
return pass;
}
set
{
pass = value;
}
}
private void Form2_Load(object sender, EventArgs e)
{
label1.Text = pass;
}
}
双向传值,也就是说,form1和form2改变i的值,另一方也会受到影响。
这个最简单,只要把变量描述成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 的构造函数这样写:
是form1->form2单向传值。
public Form2( int i )
{
InitializeComponent();
textBox1.Text = i.ToString();
//注意以上两句代码的位置不能交换 不然会显示未将对象应用到实例!!!!!
}
第三个方法是 通过属性进行传值
Form1 的button按钮这样写:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1 .Text =="")
{
MessageBox.Show("请输入信息!!");
}
else
{
this.Hide();
Form2 children = new Form4();
children.Pass = textBox1.Text;
children.Show();
}
Form2中这样写
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private string pass;
public string Pass
{
get
{
return pass;
}
set
{
pass = value;
}
}
private void Form2_Load(object sender, EventArgs e)
{
label1.Text = pass;
}
}