C# - EventArgs方式進行窗體傳值


首先根據需要創建一個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/
  本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM