我是靠谱客的博主 合适台灯,这篇文章主要介绍自定义事件之C#设计笔记(十),现在分享给大家,希望可以做个参考。

一、引用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#设计笔记(十)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部