一、引用System.Runtime.InteropServices

二、 扩展EventArgs类,用于附加相关关键数据,如value1,value2,value3等等
[ComVisible(true)]
public class DataArgs : EventArgs
{
public int value1 { get; set; }
public int value2 { get; set; }
public int value3 { get; set; }
}

三、定义相应事件(eventArgs为DataArgs )
public delegate void DataEventHandler(object sender, DataArgs e);
在某类中声明相应事件
public event DataEventHandler DataChanged;

四、事件触发
private DataArgs data = new DataArgs();
public DataArgs Data
{
get
{
return data;
}
set
{
if(data!=value)
{
data = value;
if(DataChanged!=null)
{
DataChanged(this, data);
}
}
}
}
注:DataArgs 属性与DataChanged事件同属一类中。

五、其他类订阅该事件后,只要修改DataArgs属性,则自动触发该事件,起到传输关键数据作用。
1、如更新属性 DataArgs parm = new DataArgs();
parm.value1 = checkBoxEx.Checked ? 1 : 0;
parm.addr = this.baseAddr;
this.Data = parm;
2、 如订阅事件view.DataChanged += View_DataChanged;
并实现
private void View_DataChanged(object sender, DataArgs e)
{
//获取e中关键数据
}


版权声明:本文为weixin_48408892原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_48408892/article/details/127900825