C#中使用自定義消息
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
C# WinForm編程中,你是否遇到過這樣的問題,在主窗口Form1中點擊按鈕,彈出一個子窗口Form2,你希望在Form2中調(diào)用Form1的函數(shù),改變Form1的顯示,卻發(fā)現(xiàn)Form1不聽話,達不到預期效果。有的人說我調(diào)試了的,那段函數(shù)確實執(zhí)行了,怎么還是沒有顯示呢?
其實Form1不聽話是必然的,你在Form2中new Form1(),這樣新新建了一個窗口對象,和本身的父窗口是兩個不同的對象,你改變對象A怎么能期望對象B也變化呢? 那有沒有什么辦法可以實現(xiàn)我們預期的效果呢? 有的,那就是利用win32函數(shù),使用自定義消息,做C++的人對這個應該不陌生,下面就給大家講一下C#自定義消息。 消息發(fā)送方 一、引入命名空間 [csharp] view plain copy
二、消息定義 [csharp] view plain copy
三、自定義結(jié)構(gòu)體 [csharp] view plain copy
四、重寫消息發(fā)送函數(shù) [csharp] view plain copy
五、獲取窗體句柄的函數(shù)引入 [csharp] view plain copy
六、消息發(fā)送 [csharp] view plain copy
消息接收方 一、引入命名空間 [csharp] view plain copy
二、消息定義 [csharp] view plain copy
三、重寫窗體的消息處理函數(shù)
[csharp] view plain copy
不知道大家在C#中有沒有更好的實現(xiàn)方法。 經(jīng)過研究,C#確實有方法可以更簡單的實現(xiàn)這個功能,請看C# 委托實例(跨窗體操作控件)
最后再給大家介紹一種最簡單的C#跨窗體操作
程序運行示意:
該文章在 2017/5/27 14:59:49 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |