我是靠谱客的博主 合适台灯,最近开发中收集的这篇文章主要介绍自定义事件之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#设计笔记(十)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部