c#给用户控件添加事件处理程序

1.首先在usercontrol后台添加如下代码:

 public partial class MyControl: UserControl

{

       //添加事件代理
       public event EventHandler AX;

       //在需要响应的事件中添加

        private void MyControl_MouseClick(object sender, MouseEventArgs e)
        {
            if (AX != null)
            {
                AX(this, e);
                //Or use the following sentence code.
                //AX(this, new EventArgs());
            }

        }

}

2.在窗体或页面添加一个用户控件,在Page_Load或Form_Load事件中添加:

 private void FrmRBD_Load(object sender, EventArgs e)
 {
      MyControl1.AX += new EventHandler(Event_AX);
 }

        protected void Event_AX(object sender, EventArgs e)
        {
            MessageBox.Show("Event has occur!<br/>");
        }

以添加自定义按钮的Click事件举例,这里需要注意的是,如果自定义控件上是多个控件的组合,比如Picture控件上有个Label控件,这样子的话,需要在 public partial class MyControl: UserControl 中把Picture和Label的Click都映射到MyControl的Click,否则事件也不会调用!

posted on 2014-07-28 14:43  浪月悠虫  阅读(1833)  评论(0编辑  收藏  举报

导航