C#

首先根据需要创建一个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/
  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/jeremywucnblog/p/12264170.html