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/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步