概述
一、引用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中关键数据
}
最后
以上就是合适台灯为你收集整理的自定义事件之C#设计笔记(十)的全部内容,希望文章能够帮你解决自定义事件之C#设计笔记(十)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复