用vs写c#代码两个窗体之间怎么传值啊 (菜鸟)

如题所述

第1个回答  2011-03-31
通过构造函数传值或者使用事件本回答被提问者采纳
第2个回答  2011-03-31
比如窗体Form1要传值窗体Form2传值
第一种方法:
Form1窗体代码:
————————————————————————————————————————
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public string str = "Form1传给Form2的值";
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2(this);
f2.ShowDialog();
}
}
}
————————————————————————————————————————
Form2窗体代码:
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
Form1 f1;
public Form2(Form1 form1)
{
InitializeComponent();
f1 = form1;
}

private void Form2_Load(object sender, EventArgs e)
{
this.label1.Text = f1.str;
}
}
}
————————————————————————————————————————
第二种方法:
Form1窗体代码:
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.str = "Form1给Form2传的值";
f2.ShowDialog();
}
}
}
————————————————————————————————————————
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
public string str="";
public Form2()
{
InitializeComponent();
}

private void Form2_Load(object sender, EventArgs e)
{
this.label1.Text = str;
}
}
}
————————————————————————————————————————
Form1窗体有一个Button按钮 按钮对应button1_Click事件
Form2窗体有一个Label 在Form2窗体加载时候给Label赋值
相似回答