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