-
C#教程之C#中在定义事件委托时怎样跨窗体传递参数
本站最新发布 C#从入门到精通
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
场景
C#中委托与事件的使用-以Winform中跨窗体传值为例:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700
参照上文在定义事件时传递参数为简单的string,如果要传递比较复杂的参数,那么就可以使用对象将参数进行封装。
博客主页:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
在窗体A中定义委托与事件
public delegate void RefreshChartInOneDelegete(XYModel xYModel); public static event RefreshChartInOneDelegete OnRefreshChartInOne;
其中XYModel就是自己封装的参数的Model,具体可以根据需要自己封装。
public class XYModel { //存储X轴属性 private XAxisModel xAxisModel; //存储Y轴属性 private List<YAxisModel> yAxisModelList; public XAxisModel XAxisModel { get { return xAxisModel; } set { xAxisModel = value; } } public List<YAxisModel> YAxisModelList { get { return yAxisModelList; } set { yAxisModelList = value; } } }
定义触发器
xYModel.YAxisModelList = yAxisModelList; if (OnRefreshChartInOne != null) { OnRefreshChartInOne(xYModel); }
然后在窗体B中进行事件订阅
FrmChartOptionInOneCurCom.OnRefreshChartInOne += new FrmChartOptionInOneCurCom.RefreshChartInOneDelegete(ChartCompareHelper_OnRefreshChart);
在窗体B中编写具体的实现
private void ChartCompareHelper_OnRefreshChart(XYModel xYModel) { xYModelStore = xYModel; ChartCompareHelper.RefreshPaneComInOne(this.zedGraphControl1,xYModel.YAxisModelList); }
栏目列表
最新更新
13. 罗马数字转整数(C#)
C#中在定义事件委托时怎样跨窗体传递参
Winform中设置ZedGraph的X轴的刻度根据曲线获
C#中巧用Lambda进行数据的筛选查询等处理
Winform中自定义ZedGraph右键复制成功后的提
C#在循环中使用Random时生成的随机数相同
C# winform 获取鼠标点击位置
c#微信公众号开发一----基本设置,服务器
时区缩写
C#中PadLeft,PadRight的用法
.Net Standard(.Net Core)实现获取配置信息
Linux PXE + Kickstart 自动装机
Shell 编程 基础
Shell 编程 条件语句
CentOS8-网卡配置及详解
Linux中LVM逻辑卷管理
1.数码相框-相框框架分析(1)
Ubuntu armhf 版本国内源
Linux中raid磁盘阵列
搭建简易网站
如何远程连接SQL Server数据库的图文教程
复制SqlServer数据库的方法
搜索sql语句
sql中返回参数的值
sql中生成查询的模糊匹配字符串
数据定义功能
数据操作功能
将Session值储存于SQL Server中
使用SQL Server数据库嵌套子查询的方法
SQL概述