温馨提示×

winform两个窗体怎么传值

小亿
166
2023-09-09 11:50:44
栏目: 智能运维

在WinForm中,可以通过以下几种方式实现两个窗体之间的值传递:

  1. 构造函数传值:在目标窗体的构造函数中添加参数来接收传递的值。在源窗体中创建目标窗体对象时,将需要传递的值作为参数传入。
// 目标窗体
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();
}
}
  1. 属性传值:在目标窗体中定义一个属性来接收传递的值,在源窗体中创建目标窗体对象后,通过属性来设置传递的值。
// 目标窗体
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();
}
}
  1. 静态变量传值:在源窗体中定义一个静态变量来存储需要传递的值,在目标窗体中直接使用该静态变量。
// 源窗体
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; // 使用静态变量传递的值
}
}

以上是几种常用的方式,根据实际需要选择适合的方式进行传值。

0