可以通過以下幾種方法實現Winform兩個窗體之間傳值:
public partial class Form2 : Form
{
private string data;
public Form2(string data)
{
InitializeComponent();
this.data = data;
}
}
在調用目標窗體的地方,傳遞值給目標窗體的構造函數。
Form2 form2 = new Form2("傳遞的值");
form2.Show();
public partial class Form2 : Form
{
public string Data { get; set; }
}
在調用目標窗體的地方,設置目標窗體的屬性值。
Form2 form2 = new Form2();
form2.Data = "傳遞的值";
form2.Show();
public partial class Form2 : Form
{
public static string data;
}
在調用目標窗體的地方,給目標窗體的靜態變量賦值。
Form2.data = "傳遞的值";
Form2 form2 = new Form2();
form2.Show();
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窗體之間的值傳遞。