C#跨窗體操作
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
C# WinForm編程中,你是否遇到過這樣的問題,在主窗口Form1中點擊按鈕,彈出一個子窗口Form2,你希望在Form2中調用Form1的函數,改變Form1的顯示,卻發現Form1不聽話,達不到預期效果。有的人說我調試了的,那段函數確實執行了,怎么還是沒有顯示呢?
這里給大家推薦三種方法: 首先,介紹最簡單,引用傳遞,C#的類是引用類型,那么我們在打開另外一個窗體的適合將窗體實例傳遞給另外一個窗體,另外一個窗體拿到這個實例,不是就可以做很多事情了嗎? 再來一個,C#的事件都是基于委托,那么我們就可以通過委托去實現在另外一個窗體對本窗體的操作, 最后,介紹一個比較復雜的,使用C++的API,利用消息傳遞的方式,將消息給另外一個窗體,
最近,經??匆娪腥颂岢鲱愃茊栴},以前自己也研究過,不過由于自己最開始是做C++的,一開始就用了最復雜的自定義消息來實現C#中使用自定義消息。后來看了下委托,又做了委托來實現C# 委托實例(跨窗體操作控件。最后偶然想到類不是引用嗎?那干嘛不直接進行傳遞,搞那么復雜干嘛?所以有了最簡單的C#跨窗體操作(引用傳遞)。
這兩天整理了一下,全部發了出來,今天發一個匯總貼,希望對大家有幫助,歡迎拍磚,共同進步。
該文章在 2017/5/27 14:57:36 編輯過 |
關鍵字查詢
相關文章
正在查詢... |