在稍微 Google 一下後找到以下解決方案。
但因為原作者寫的比較全面,而我專案中並用不到
因此這邊稍微加上註解來協助理解
改寫後 :
Form1 為父表單;Form2 為子表單
1. 在Form1輸入值,在開啟Form2時顯示Form2的值;
而Form2關閉後,將Form2的值帶回Form1。
public Form2() { InitializeComponent(); } //OverLord 建構子 public Form2(string strTextMsg) { InitializeComponent(); textBox1.Text = strTextMsg; //由父表單傳入預設值 } //變數設定 public string TextBoxMsg { set { textBox1.Text = value; //設定初始值時使用 } get { return textBox1.Text; //提供給父表單取值用 } }
父表單 Form1 方式 1
Form2 obj = new Form2(); obj.TextBoxMsg = textBox1.Text; //從父表單設定數值至子表單 if (obj.ShowDialog() == DialogResult.OK) //利用 Dialog 狀態來使用 { this.textBox1.Text = obj.TextBoxMsg; //從子表單取回設定完的數值 }
父表單 Form1 方式 2
Form2 obj = new Form2(textBox1.Text); //傳入預設值給子表單 if (obj.ShowDialog() == DialogResult.OK) { this.textBox1.Text = obj.TextBoxMsg; //從子表單取回設定完的數值 }
原作者頁面 : http://www.dotblogs.com.tw/jeff-yeh/archive/2010/01/04/12799.aspx
沒有留言:
張貼留言