winform跨窗體操作控制項是winform開發中很常見的形式,最常見且簡單有效的方式便是使用委託的方式來進行操作,下面我將通過乙個小例項來說明如何使用委託跨窗體實現控制項操作。
例項介紹:兩個窗體,form1按鈕開啟form2,然後在form2的textbox輸入值在form1的textbox中顯示出來。
一、專案結構
form1窗體設計:
form2窗體設計:
二、**實現
在form2的**中宣告乙個委託(寫在form2類外)->
public然後在form2類內寫乙個委託事件->delegate
void changeform1textboxvalue(string txt);
public雙擊form2的textbox給form2的textbox新增值變化出發事件,並在此事件中呼叫委託事件->event changeform1textboxvalue changetextboxvalue;
privateform2的完整**如下:void textbox1_textchanged(object
sender, eventargs e)
using然後我們切換到form1的**system;
using
system.windows.forms;
namespace
private
void textbox1_textchanged(object
sender, eventargs e)}}
button點選事件例項化form2並呼叫form2的委託事件->
private在下面宣告委託事件的操作方法->void button1_click(object
sender, eventargs e)
private上述步驟在輸入+=號時可以雙擊兩下tab鍵,ide(編譯器)會自動將事件補全~void f2_changetextboxvalue(string
txt)
form1的完整**如下:
using到這裡,我們的實現基本完成,下面進入測試!system;
using
system.windows.forms;
namespace
private
void button1_click(object
sender, eventargs e)
private
void f2_changetextboxvalue(string
txt)}}
三、效果測試
然後在form2的textbox中輸入值
可以看到值已經實時顯示到form1的textbox中。
測試結果達到預期效果,專案實現成功!
一起成長,共同學習~
跨窗體操作控制項 委託例項
事件是一種特殊的委託,先宣告委託,在宣告事件就是建立委託物件,然後例項化委託物件 事件名 引數 訪問控制符如果是全域性的,那麼在其他類中是可以操作這個全域性的,建立物件例項化都是可以的,開啟新窗體時,在程式執行編譯時在主窗體對子窗體例項化的委託是已經註冊事件了的,委託的宣告例項化呼叫的語法要清楚,每...
C 委託例項(跨窗體操作控制項)
今天研究了一下,在c 裡面卻是可以不用自定義訊息這麼複雜的方法來實現跨窗體呼叫控制項,c 有更好的辦法就是委託。效果描述 有兩個窗體,form1 乙個名為 開啟form2 的button控制項 和form2 乙個名為 改變form1顏色 的button控制項 啟動時,form1中點選button控制...
C 委託例項(跨窗體操作控制項)
在c 裡面卻是可以不用自定義訊息這麼複雜的方法來實現跨窗體呼叫控制項,c 有更好的辦法就是委託。效果描述 有兩個窗體,form1 乙個名為 開啟form2 的button控制項 和form2 乙個名為 改變form1顏色 的button控制項 啟動時,form1中點選button控制項 開啟form...