C#跨窗體傳值方法
方法1.通過建構函式傳值
Form1:
Form2 data = new Form2();//例項化物件
data.Name1 = textBox1.Text;//給物件賦值
data.Show();
Form2:
public partial class Form2 : Form
{
TextBox text;//定義一個實參,儲存Form1的值
public Form2(TextBox txt)//定義一個形參
{
InitializeComponent();
text = txt;//將形參和實參對接,這句必須放在InitializeComponent();的後面,否則會引起“空引用異常”
}
private void button1_Click(object sender, EventArgs e)
{
text.Text = textBox1.Text;//將text裡的內容賦值給實參
}
}
方法2.通過全域性函式傳值
Form1:
private void button1_Click(object sender, EventArgs e)
{
Form2 data = new Form2();//例項化物件
data.Name1 = textBox1.Text;//給物件賦值
data.Show();
}
Form2:
string name;//定義一個變數
public string Name1//封裝
{
get { return name; }
set { name = value; }
}
private void Form2_Load(object sender, EventArgs e)
{
textBox1.Text = name;//賦值
}
Tip:
1.不加static的變數只能在當前名稱空間使用。
2.向其他類裡傳值,需要先例項化,名稱要和類名一致。