91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
东安县| 柘城县| 陆丰市| 万安县| 远安县| 江山市| 乡宁县| 荃湾区| 万盛区| 苏州市| 高台县| 济南市| 襄垣县| 沙洋县| 定日县| 扎兰屯市| 那坡县| 宝山区| 泸西县| 青龙| 鸡泽县| 乌兰浩特市| 固原市| 锦州市| 芦溪县| 宿松县| 怀集县| 都昌县| 老河口市| 清流县| 宝清县| 邹平县| 平湖市| 庆城县| 陆良县| 诸城市| 象山县| 达日县| 玛沁县| 台安县| 文成县|