winform两个窗体传值的方法是什么

   2025-02-13 4680
核心提示:可以通过以下几种方法实现Winform两个窗体之间传值:构造函数传值:在目标窗体的构造函数中添加参数,通过创建目标窗体时传递参

可以通过以下几种方法实现Winform两个窗体之间传值:

构造函数传值:在目标窗体的构造函数中添加参数,通过创建目标窗体时传递参数的方式进行值的传递。
public partial class Form2 : Form{    private string data;    public Form2(string data)    {        InitializeComponent();        this.data = data;    }}

在调用目标窗体的地方,传递值给目标窗体的构造函数。

Form2 form2 = new Form2("传递的值");form2.Show();
公共属性传值:在目标窗体中定义公共属性,通过设置属性值的方式进行值的传递。
public partial class Form2 : Form{    public string Data { get; set; }}

在调用目标窗体的地方,设置目标窗体的属性值。

Form2 form2 = new Form2();form2.Data = "传递的值";form2.Show();
静态变量传值:在目标窗体中定义一个静态变量,通过直接赋值的方式进行值的传递。
public partial class Form2 : Form{    public static string data;}

在调用目标窗体的地方,给目标窗体的静态变量赋值。

Form2.data = "传递的值";Form2 form2 = new Form2();form2.Show();
事件传值:在源窗体中定义一个事件,当目标窗体需要获取值时,触发该事件进行传值。
public partial class Form1 : Form{    public event EventHandler<string> ValueChanged;}

在目标窗体中订阅该事件,并在事件处理方法中获取传递的值。

public partial class Form2 : Form{    public Form2()    {        InitializeComponent();        Form1 form1 = new Form1();        form1.ValueChanged += Form1_ValueChanged;    }    private void Form1_ValueChanged(object sender, string e)    {        // 获取传递的值    }}

在源窗体中触发该事件并传递值。

if (ValueChanged != null){    ValueChanged(this, "传递的值");}

以上是常用的几种方法,可以根据具体场景选择适合的方式进行Winform窗体之间的值传递。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言