您的位置:首页 > 编程语言 > C#

标准的事件和委托声明写法(C#)

2014-12-10 11:13 363 查看
标准的事件和委托声明写法:
// 定义委托
public delegate void PicChangeHandler(object sender, PicChangeEventArgs args);
/// <summary>
/// 声明切换图片事件
/// </summary>
public static event PicChangeHandler PicChange;
/// <summary>
/// 调用图片切换事件函数
/// </summary>
/// <param name="sender"></param>
/// <param name="args"></param>
public void OnPicChange(object sender, PicChangeEventArgs args)
{
if (PicChange != null)
{
PicChange(this, args);
}
}

/// <summary>
/// 自定义切换图片事件参数类型,根据需要可设定多种参数便于传递
/// </summary>
public class PicChangeEventArgs : EventArgs
{
private Cursor m_cur;

public Cursor Cur
{
get { return m_cur; }
set { m_cur = value; }
}
private PictureEntry m_pic;

public PictureEntry Pic
{
get { return m_pic; }
set { m_pic = value; }
}

public PicChangeEventArgs(Cursor c1, PictureEntry p1)
{
Cur = c1;
Pic = p1;
}
}

触发事件:

// 触发事件, 传递自定义参数
OnPicChange(this, new PicChangeEventArgs(this.pictureBox.Cursor, pic));


调用事件:

RisImageViewer.PicChange += new RisImageViewer.PicChangeHandler(OnPicChange);
public void OnPicChange(object sender, FounderSoft.RISClient.WinForms.RisImageViewer.PicChangeEventArgs args)
{
PictureListItem nextPicItem = new PictureListItem(args.Pic.Pic);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: