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

溫馨提示×

winform兩個窗體傳值的方法是什么

小億
124
2023-12-08 14:19:52
欄目: 智能運維

可以通過以下幾種方法實現Winform兩個窗體之間傳值:

  1. 構造函數傳值:在目標窗體的構造函數中添加參數,通過創建目標窗體時傳遞參數的方式進行值的傳遞。
public partial class Form2 : Form
{
    private string data;
    public Form2(string data)
    {
        InitializeComponent();
        this.data = data;
    }
}

在調用目標窗體的地方,傳遞值給目標窗體的構造函數。

Form2 form2 = new Form2("傳遞的值");
form2.Show();
  1. 公共屬性傳值:在目標窗體中定義公共屬性,通過設置屬性值的方式進行值的傳遞。
public partial class Form2 : Form
{
    public string Data { get; set; }
}

在調用目標窗體的地方,設置目標窗體的屬性值。

Form2 form2 = new Form2();
form2.Data = "傳遞的值";
form2.Show();
  1. 靜態變量傳值:在目標窗體中定義一個靜態變量,通過直接賦值的方式進行值的傳遞。
public partial class Form2 : Form
{
    public static string data;
}

在調用目標窗體的地方,給目標窗體的靜態變量賦值。

Form2.data = "傳遞的值";
Form2 form2 = new Form2();
form2.Show();
  1. 事件傳值:在源窗體中定義一個事件,當目標窗體需要獲取值時,觸發該事件進行傳值。
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窗體之間的值傳遞。

0
白城市| 烟台市| 廊坊市| 商洛市| 娱乐| 休宁县| 文安县| 金乡县| 宝丰县| 黔西| 凯里市| 勃利县| 改则县| 准格尔旗| 新源县| 吴桥县| 永泰县| 陆河县| 靖远县| 金昌市| 图片| 宁河县| 神池县| 辽阳县| 汉沽区| 旬阳县| 泗水县| 门源| 新干县| 甘南县| 敦煌市| 瑞安市| 沙湾县| 寻乌县| 山丹县| 永新县| 文昌市| 佛坪县| 温州市| 博兴县| 北海市|