winform两个窗体怎么传值
在WinForm中,可以通过以下几种方式实现两个窗体之间的值传递:
1. 构造函数传值:在目标窗体的构造函数中添加参数来接收传递的值。在源窗体中创建目标窗体对象时,将需要传递的值作为参数传入。
```csharp
// 目标窗体
public partial class Form2 : Form
{
private string value; // 接收传递的值
public Form2(string value)
{
InitializeComponent();
this.value = value;
}
}
// 源窗体
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
string value = "传递的值";
Form2 form2 = new Form2(value);
form2.Show();
}
}
```
2. 属性传值:在目标窗体中定义一个属性来接收传递的值,在源窗体中创建目标窗体对象后,通过属性来设置传递的值。
```csharp
// 目标窗体
public partial class Form2 : Form
{
private string value; // 接收传递的值
public string Value
{
get { return value; }
set { this.value = value; }
}
}
// 源窗体
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
string value = "传递的值";
Form2 form2 = new Form2();
form2.Value = value;
form2.Show();
}
}
```
3. 静态变量传值:在源窗体中定义一个静态变量来存储需要传递的值,在目标窗体中直接使用该静态变量。
```csharp
// 源窗体
public partial class Form1 : Form
{
public static string value; // 静态变量
private void button1_Click(object sender, EventArgs e)
{
value = "传递的值";
Form2 form2 = new Form2();
form2.Show();
}
}
// 目标窗体
public partial class Form2 : Form
{
private void Form2_Load(object sender, EventArgs e)
{
string value = Form1.value; // 使用静态变量传递的值
}
}
```
以上是几种常用的方式,根据实际需要选择适合的方式进行传值。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341