首先根據需要創建一個MyEventArgs類,可根據需要設定屬性。
比如:
public class MyEventArgs : EventArgs { /// <summary> /// 標識 /// </summary> public int Temp { get; set; } /// <summary> /// 對象 /// </summary> public object Obj { get; set; } }
接下來我們用兩步完成窗體a到窗體b的相關對象、屬性的傳遞。
在窗體b中:
//聲明全局變量事件用於窗體傳值 public event EventHandler evt; //實例化全局變量MyEventArgs類 public MyEventArgs mea = new MyEventArgs(); //創建窗體b FrmB b = new FrmB(); //存標識 mea.Temp = v; //存對象 mea.Obj=AnyObj; //注冊事件 --b.SetText是窗體b的public方法 this.evt += new EventHandler(b.SetText); if (this.evt != null) { evt(this, mea); } //顯示窗體B b.ShowDialog();
在窗體b的SetText方法中接受窗體a傳來的對象和屬性:
public void SetText(object sender, EventArgs e) { MyEventArgs mea = e as MyEventArgs; AnyObj r = mea.Obj as AnyObj;//獲取對象 //mea.Temp;//獲取屬性 }
作者:Jeremy.Wu
出處:https://www.cnblogs.com/jeremywucnblog/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。