C 委託例項 跨窗體操作控制項

2022-08-19 06:57:08 字數 2373 閱讀 8927

form1(乙個名為「開啟form2」的button控制項)

form2(乙個名為「改變form1顏色「的button控制項)

啟動時,form1中點選button控制項「開啟form2」」使form2顯示出來。

點選form2中的「改變form1顏色」後,form1中顏色改變。

完整**

1

using

system;

2using

system.collections.generic;

3using

system.componentmodel;

4using

system.data;

5using

system.drawing;

6using

system.linq;

7using

system.text;

8using

system.windows.forms;910

namespace

delegate

1119

20public

event

changeformcolor changecolor;

2122

private

void button1_click(object

sender, eventargs e)

2326

}27 }

1

using

system;

2using

system.collections.generic;

3using

system.componentmodel;

4using

system.data;

5using

system.drawing;

6using

system.linq;

7using

system.text;

8using

system.windows.forms;910

namespace

delegate

1118

19private

void button1_click(object

sender, eventargs e)

2025

26void f_changecolor(bool

topmost)

2731

}32 }

一、在form2裡面:

首先宣告乙個委託和委託例項

form2類外

1public

delegate

void changeformcolor(bool topmost);

form2類裡

1public

event changeformcolor changecolor;

form2的按鈕事件中呼叫委託

1

private

void button1_click(object

sender, eventargs e)

2

二、在form1裡面:

button控制項「開啟form2「的click事件中有下面的**:

1

f.changecolor += new changeformcolor(f_changecolor);

這句最關鍵,你輸入到+=之後,按兩下tab,他會自動給你生成**函式,如下:

1

void f_changecolor(bool

topmost)

2

一、在form2裡面:

首先宣告乙個委託和委託例項

form2類外

[csharp]view plain

copy

public

delegate

void

changeformcolor(

bool

topmost);  

form2類裡

[csharp]view plain

copy

public

event

changeformcolor changecolor;  

form2的按鈕事件中呼叫委託

[csharp]view plain

copy

private

void

button1_click(

object

sender, eventargs e)  

C 委託例項(跨窗體操作控制項)

今天研究了一下,在c 裡面卻是可以不用自定義訊息這麼複雜的方法來實現跨窗體呼叫控制項,c 有更好的辦法就是委託。效果描述 有兩個窗體,form1 乙個名為 開啟form2 的button控制項 和form2 乙個名為 改變form1顏色 的button控制項 啟動時,form1中點選button控制...

C 委託例項(跨窗體操作控制項)

在c 裡面卻是可以不用自定義訊息這麼複雜的方法來實現跨窗體呼叫控制項,c 有更好的辦法就是委託。效果描述 有兩個窗體,form1 乙個名為 開啟form2 的button控制項 和form2 乙個名為 改變form1顏色 的button控制項 啟動時,form1中點選button控制項 開啟form...

跨窗體操作控制項 委託例項

事件是一種特殊的委託,先宣告委託,在宣告事件就是建立委託物件,然後例項化委託物件 事件名 引數 訪問控制符如果是全域性的,那麼在其他類中是可以操作這個全域性的,建立物件例項化都是可以的,開啟新窗體時,在程式執行編譯時在主窗體對子窗體例項化的委託是已經註冊事件了的,委託的宣告例項化呼叫的語法要清楚,每...