窗體間傳值和窗體間互操作

2021-09-05 13:22:14 字數 392 閱讀 5488

今天遇到乙個非常棘手的問題:子窗體在關閉時傳遞乙個物件給父窗體。窗體關閉時會發生資料驗證,當資料不正確時,窗體不可關閉。

由於編寫之初總在思考乙個完美的辦法,導致**總無法通過,最後,不得不使用最笨拙但有效的辦法:公共靜態變數。

這個靜態變數不論是子窗體還是父窗體持有,都沒有關係。一般而言,父窗體持有它。

現在,在子窗體中可以修改公共資料了。

但是,修改時,還必須修改父窗體的狀態,我採用的乙個委託,將委託作為引數傳遞個子窗體,在子窗體中,要更改父窗體的地方,呼叫這個委託。

對這種普遍的問題,有什麼通用的比較好的解決方案呢?

這篇文章提供了一種方案,但仍然笨拙,不太好。

比如:當子窗體不一定有時,一定有時,據條件存在時,情況並不一樣。

期待好的辦法……

WinForm窗體間傳值

form1 主窗體 namespace firstdlg public string textstored set private void button1 click object sender,eventargs e private void form1 load object sender,e...

(C )WinForm窗體間傳值

1.通過建構函式 特點 傳值是單向的 不可以互相傳值 實現簡單 實現 如下 在窗體form2中 int value1 string value2 public form2 int value1 string value2 在窗體form1中這樣呼叫 new form2 111 222 show 這樣...

(C )WinForm窗體間傳值

1.通過建構函式 特點 傳值是單向的 不可以互相傳值 實現簡單 實現 如下 在窗體form2中 int value1 string value2 public form2 int value1 string value2 在窗體form1中這樣呼叫 new form2 111 222 show 這樣...