我們知道event的第二個引數eventargs,可以用來在處理事件觸發時,傳遞資料,今天就用它在窗體間傳值。
demo是winform程式,就是兩個窗體,parentfrm和childfrm。
首先定義乙個類mycustomeventargs繼承自eventargs
code
public
class
mycustomeventargs : eventargs
//事件引數類
public
string
strset}}
然後宣告乙個用來處理事件的delegate
code
public
delegate
void
mydelegate(
object
sender, mycustomeventargs e);
再定義乙個事件
code
public
static
event
mydelegate myevent;(可以不是靜態的)
在parentfrm的load裡寫上
code
myevent
+=new
mydelegate(parentfrm_myevent);
在childfrm的load裡寫上
code
parentfrm.myevent
+=new
mydelegate(childfrm_myevent);
childfrm裡有個handler
code
void
childfrm_myevent(
object
sender, mycustomeventargs e)
然後就可以實現我們想要的效果了。
源**:
parentfrm,裡面有乙個button,乙個textbox。
code
namespace
codeprojectwindowthread
private
void
parentfrm_load(
object
sender, eventargs e)
void
parentfrm_myevent(
object
sender, mycustomeventargs e)
private
void
button1_click(
object
sender, eventargs e)
}public
class
mycustomeventargs : eventargs
//事件引數類
public
string
strset}}
childfrm**,裡面有乙個textbox。
code
namespace
codeprojectwindowthread
private
void
childfrm_load(
object
sender, eventargs e)
void
childfrm_myevent(
object
sender, mycustomeventargs e)}}
單擊parentfrm窗體的button,childfrm窗體裡的textbox會顯示parentfrm窗體裡的textbox的值。
WinForm窗體間傳值
form1 主窗體 namespace firstdlg public string textstored set private void button1 click object sender,eventargs e private void form1 load object sender,e...
(C )WinForm窗體間傳值
1.通過建構函式 特點 傳值是單向的 不可以互相傳值 實現簡單 實現 如下 在窗體form2中 int value1 string value2 public form2 int value1 string value2 在窗體form1中這樣呼叫 new form2 111 222 show 這樣...
(C )WinForm窗體間傳值
1.通過建構函式 特點 傳值是單向的 不可以互相傳值 實現簡單 實現 如下 在窗體form2中 int value1 string value2 public form2 int value1 string value2 在窗體form1中這樣呼叫 new form2 111 222 show 這樣...