winform窗体传值的方法有哪些

   2025-02-15 4160
核心提示:有以下几种方法可以在WinForm窗体之间传值:构造函数传值:在目标窗体的构造函数中添加参数,通过创建实例时传入值。public clas

有以下几种方法可以在WinForm窗体之间传值:

构造函数传值:在目标窗体的构造函数中添加参数,通过创建实例时传入值。
public class Form2 : Form{    private string value;    public Form2(string value)    {        this.value = value;    }}// 创建实例时传入值var form2 = new Form2("Hello");form2.Show();
公共属性或方法:在目标窗体中定义公共属性或方法,通过访问该属性或方法来传递值。
public class Form2 : Form{    public string Value { get; set; }    public void SetValue(string value)    {        this.Value = value;    }}// 访问属性或方法传递值var form2 = new Form2();form2.Value = "Hello";form2.Show();
静态变量:在源窗体中定义静态变量,其他窗体通过访问该静态变量来获取值。
public class Form1 : Form{    public static string Value;}// 设置静态变量的值Form1.Value = "Hello";// 访问静态变量的值var value = Form1.Value;
Application对象:使用Application对象的Properties属性来传递值。
// 设置值Application.Properties["Value"] = "Hello";// 获取值var value = Application.Properties["Value"].ToString();
事件参数:在源窗体中定义事件,在目标窗体中订阅事件并通过事件参数传递值。
public class Form1 : Form{    public event EventHandler<MyEventArgs> ValueChanged;    private void OnValueChanged(string value)    {        ValueChanged?.Invoke(this, new MyEventArgs(value));    }}public class Form2 : Form{    public Form2()    {        var form1 = new Form1();        form1.ValueChanged += Form1_ValueChanged;    }    private void Form1_ValueChanged(object sender, MyEventArgs e)    {        var value = e.Value;    }}public class MyEventArgs : EventArgs{    public string Value { get; }    public MyEventArgs(string value)    {        Value = value;    }}

这些都是常用的WinForm窗体传值的方法,根据具体的需求选择相应的方法。

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