推 q172357ma:謝謝回覆 我試試看 04/29 17:44
※ 引述《q172357ma ( )》之銘言:
: 狀況描述: 希望做到兩個Forms(FromA & FormB)之間的互動如下↓
: FormA 將值傳給 FormB, 當FormB更動後, 將值回傳給FormA
: 程式碼簡短描述如下...
: FormA.cs
: private void ChageValue_Click(object sender, EventArgs e)
: {
: myStruct var;
: FormB dialog = new FormB(var);
: dialog.ShowDialog();
: // 此時使用者可於FormB可修改myStruct
: MessageBox.Show(var.value1.ToString() +
: Environment.NewLine +
: var.value2.ToString()) // 檢查結果
: // 請問該如何取得修改後的結果 <<<< 我的問題
: }
: FormB.cs
: public FormB(Object obj)
: {
: InitializeComponent();
: // 將傳入obj轉型後將值顯示於TextBoxes
: this.textBox1.Text = ((myStruct) obj).value1;
: this.textBox2.Text = ((myStruct) obj).value2;
: }
: // 過程中使用者可修改TextBoxes裡面的數值
: private void StoreValue_Click(object sender, EventArgs e)
: {
: // 請問該如何讓FormA取得修改後的值?? <<<<<<<<< 我的問題
: }
: 有爬過上頭文章, 但都是提到提取數值, 沒有提到回傳 ><"
: 可能是我關鍵字下錯沒查到, 若有前文, 麻煩提示該用什麼關鍵字去查
: 麻煩各位幫忙解惑 3q
假設 myStruct var 是FormA中 Public變數.
於FormB中宣告一個FormA 變數, FormA中要Open FormB前先將自己指定進去
例: FormB中 宣告 Public FormA A1;
FormA中於 FormB dialog = new FormB(var);
dialog.A1 = this;
: dialog.ShowDialog();
FormB中的按鈕內再去改變 A1.var.value1 值. 即是改變了原先FormA中的
var結構內的值了.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.231.98