中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

winform窗體傳值的方法有哪些

小億
113
2023-10-26 22:36:31
欄目: 智能運維

有以下幾種方法可以在WinForm窗體之間傳值:

  1. 構造函數傳值:在目標窗體的構造函數中添加參數,通過創建實例時傳入值。
public class Form2 : Form
{
    private string value;

    public Form2(string value)
    {
        this.value = value;
    }
}

// 創建實例時傳入值
var form2 = new Form2("Hello");
form2.Show();
  1. 公共屬性或方法:在目標窗體中定義公共屬性或方法,通過訪問該屬性或方法來傳遞值。
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();
  1. 靜態變量:在源窗體中定義靜態變量,其他窗體通過訪問該靜態變量來獲取值。
public class Form1 : Form
{
    public static string Value;
}

// 設置靜態變量的值
Form1.Value = "Hello";

// 訪問靜態變量的值
var value = Form1.Value;
  1. Application對象:使用Application對象的Properties屬性來傳遞值。
// 設置值
Application.Properties["Value"] = "Hello";

// 獲取值
var value = Application.Properties["Value"].ToString();
  1. 事件參數:在源窗體中定義事件,在目標窗體中訂閱事件并通過事件參數傳遞值。
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窗體傳值的方法,根據具體的需求選擇相應的方法。

0
霍州市| 松原市| 手游| 德庆县| 屏东市| 沙田区| 河西区| 化隆| 石柱| 武冈市| 嫩江县| 镇坪县| 灵山县| 化隆| 龙门县| 如东县| 龙川县| 广灵县| 永城市| 南充市| 昌黎县| 永定县| 剑川县| 印江| 大埔区| 河北区| 女性| 柏乡县| 宜兴市| 金门县| 五大连池市| 瑞安市| 温宿县| 剑河县| 濮阳县| 南城县| 开鲁县| 武山县| 宜良县| 饶河县| 台南市|