關於WinForm窗體之間通過委託實現傳參

2022-09-12 08:51:11 字數 1465 閱讀 4925

關於winform窗體之間傳遞引數,其實有很多種方法,今天我想給大家介紹一種通過委託的方法在窗體之間進行引數傳遞。首先我先介紹一下實現的效果

窗體1開啟窗體2時,將窗體1中的textbox中的值傳遞給窗體2中的textbox中,窗體2關閉窗體時,將窗體2中textbox修改的值回傳給窗體1

窗體1的值傳給窗體2時,實現很簡單。窗體1中button的**:

1

private

void button1_click(object

sender, eventargs e)

2

view code

窗體2的**:

1

public form2(string val) : this()2

view code

這樣窗體1往窗體2中傳遞引數就很輕鬆的實現了。那麼重點來了,窗體2關閉窗體時往窗體1回傳引數就有點難了,下面我就介紹用委託的方法進行窗體之間傳值。

窗體1中的完整**:

1

namespace

winform窗體傳值29

10private

void button1_click(object

sender, eventargs e)

1115

16private

void updatetextbox(string

val)

1720}21

//定義乙個委託

22public

delegate

void updatetextdelegate(string

val);

23 }

view code

窗體2中的完整**:

1

namespace

winform窗體傳值29

10//

通過委託進行傳值

11public form2(string val ,updatetextdelegate updatetext) : this

()12

1617

//先宣告乙個委託變數:

18private

updatetextdelegate _updatetext;

1920

private

void button1_click(object

sender, eventargs e)

212526}

27 }

view code

其中,要注意的是委託其實就是乙個型別和class是乙個級別,可以將委託當成乙個變數進行傳遞。

WinForm窗體之間傳值

1 父窗體中宣告乙個靜態的父窗體型別的臨時物件 public static frmfather frmfathertemp 2 父窗體建構函式中對該變數賦值 public frmfather 3 把要傳遞的引數設定為父窗體的乙個屬性,並設定訪問器。訪問其的set方法中進行了引數與父窗體控制項繫結的操...

winform 窗體之間的操作

通過乙個窗體按鈕開啟另乙個窗體 form f2 new form2 f2.show 通過這個開啟第二個頁面 要想只顯示乙個頁面只能隱藏第乙個頁面 如果第乙個頁面關閉 第二個頁面也會跟著關閉。2窗體之間的傳值 窗體之間傳值 需要兩個甚至多個窗體 form f2 new form2 要傳遞的值 f2.s...

winform窗體之間的傳值

資料整理結果如下 1.子窗體做乙個屬性 子窗體的確定按鈕裡面給這個屬性賦值 父窗體直接訪問這個屬性就好了 frmchoiceproduct formchild new frmchoiceproduct formchild.owner this formchild.showdialog txtweig...