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

溫馨提示×

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
梅河口市| 锡林郭勒盟| 牡丹江市| 资阳市| 筠连县| 三门峡市| 海城市| 天水市| 武定县| 马鞍山市| 睢宁县| 惠东县| 洱源县| 呼伦贝尔市| 渝北区| 北碚区| 渝中区| 宜川县| 庆元县| 长沙县| 垫江县| 建阳市| 青州市| 北宁市| 兴隆县| 惠东县| 永丰县| 大名县| 潼关县| 樟树市| 吴忠市| 资溪县| 芷江| 界首市| 五河县| 隆德县| 德格县| 丰镇市| 宾川县| 玉溪市| 安图县|