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

来源:互联网 发布:sql union和join区别 编辑:程序博客网 时间:2024/05/16 15:15
标准的事件和委托声明写法:
        // 定义委托        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);}




0 0
原创粉丝点击