機房重構 跨窗體傳值

2021-08-14 18:46:46 字數 699 閱讀 3184

果然c#的跨窗體傳值比vb難得多,vb就定義乙個全域性變數就ok,但是c#還要考慮到命名空間的問題

frmmain要呼叫loginui的兩個值,但是在此同時,frmmain又要引用loginui,所以說就遇到了乙個很麻煩的問題,一直在考慮命名空間的問題,但是其實和命名空間沒有太大的關係,我卻在命名空間這裡墨跡了很長時間

loginui引用一下frmmain,然後只需要重寫一下frmmain的建構函式即可,非常簡單

我們通常的建構函式是這樣的:

public frmmain()

在loginui中這樣來例項化frmmain(這裡我的命名空間和窗體名字都是frmmain):

frmmain.frmmain fm = new frmmain.frmmain(level,user.userid.tostring());

fm.show();

我們要重寫成這樣的,然後就可以在這裡隨便呼叫level和id了,其實返回值不一定是string,可以是任何型別,不過這樣也會增加一些必要的耦合

private string level;

private string id;

public frmmain()

public frmmain(string s, string id)

機房重構 窗體繼承控制項不顯示

機房重構,在組合查詢的時候用到的是模板方法的設計模式,這裡需要有窗體的繼承來實現,可是我在建立繼承窗體的時候出現了這個問題 警告 沒有包含要從中繼承的元件的已生成程式集,生成當前應用程式,或單擊 瀏覽 並從另乙個應用程式彙總選擇以前生產的程式集。無法直接新增繼承窗體。第一步我採取的辦法是 新增乙個普...

C 窗體傳值

最近程式設計發現數值傳遞特別關鍵,所以想總結一下c 中一些傳值的技巧,以後有什麼發現也盡量加進來!父窗體 private void bntauupdate click object sender,eventargs e else 窗體frmauton的初始賦值 public frmauton int...

winform 窗體傳值

在form1中 我們要把乙個文字傳遞給form2窗體,假定為passtext public string passtext form1中還有個按鈕button1在其點選事件中有 private void button1 click object sender,eventargs e 在form2的物...