委託在winform開發中用於窗體傳值

2021-10-06 01:11:13 字數 1071 閱讀 2534

1、為什麼要用委託?

委託可以將方法作為實參傳遞給另乙個方法,那麼我們在winform開發中經常會遇到這樣的情況,窗體1中定義了方法1,在窗體1中我們要開啟窗體2,並且在窗體2中也要用到方法1,這個用法在窗體1是主窗體,窗體2是引數設定窗體的情況下經常使用,比如我開發運動控制軟體,窗體1中有讀取某個軸的座標的方法1,我要利用窗體2去設定乙個座標,那麼我就可以將方法1通過委託在例項化窗體2的物件時,將委託作為窗體2建構函式的引數傳入,**如下:

public

partial

class

form2

:form

private

void

initialform()

的座標是"

,i,str);}

showvaluedelegate

(200);

}}

form2中定義了兩種委託,乙個是有返回值的委託陣列func,另乙個是沒有返回值的委託action,我們將這兩個委託作為建構函式的引數傳入,initialform的作用就是呼叫這兩個委託。

private

void

button1_click

(object sender,

eventargs e)

}private

string

getvalue0

(int

value

)private

string

getvalue1

(int

value

)private

void

showvalue

(int

value

)

我們在button1事件中,宣告委託,並對委託進行賦值,然後例項化form2並將委託作為引數傳入,最終得到的結果如下:

軸0的座標是20

軸1的座標是30

200

我們成功的將委託作為引數傳入了form2中,並且實現了呼叫,所以這裡委託將方法作為引數進行跨窗體傳值是非常方便的。

C 在WinForm開發中Label換行方法

第一種是把label的autosize屬性設為false,手動修改label的大小.這樣的好處是會因內容的長度而自動換行,但是當內容的長度超過所設定的大小時,多出的內容就會無法顯示.因此,這種方法適合於基本確定內容長度的時候使用。第二種是把label的dock設為fill,同時將autosize屬性...

C 在WinForm開發中Label換行方法

第一種是把label的autosize屬性設為false,手動修改label的大小.這樣的好處是會因內容的長度而自動換行,但是當內容的長度超過所設定的大小時,多出的內容就會無法顯示.因此,這種方法適合於基本確定內容長度的時候使用。第二種是把label的dock設為fill,同時將autosize屬性...

C 在WinForm開發中Label換行方法

第一種是把label的autosize屬性設為false,手動修改label的大小.這樣的好處是會因內容的長度而自動換行,但是當內容的長度超過所設定的大小時,多出的內容就會無法顯示.因此,這種方法適合於基本確定內容長度的時候使用。第二種是把label的dock設為fill,同時將autosize屬性...