怎么给自定义控件添加事件

如何给自定义控件添加事件
比如定义一个自定义控件 myControl1 后,现在我想在其他文件引用了这个控件。但是 我想 在鼠标点击这个控件时提示一个Messagebox。 
自己定义 委托 和事件后,怎么调用 ? 不通过比如this.button1.Click += new System.EventHandler(this.button1_Click),在 button1_Click() 这个函数中实现,要鼠标点击 我这个myControl1 所在的区域,自动发生。

或者说 其实我的问题就是如何做一个this.button1.Click 这样一个东西,鼠标点击,它就有反应。
------解决思路----------------------
自定义控件?你是说代码生成的吗?你在创建他的时候可以添加 我拿vb举例 刚好我前面也刚学会

 Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim btn As Button = New Button
        btn.Text = "我是按钮"
        Me.Controls.Add(btn)
        AddHandler btn.Click, AddressOf a
end sub 
    Sub btn_click()
        MsgBox("我是事件")
    End Sub

 
然后如果你要在myControl1_click(xxxxxxxxxxxx)触发时,调用 btn.click属性的话  你可以这样

 Public Sub myControl1_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles  mycontrol1.click 
btn_click()’在这里调用一遍btn_click
‘myControl1_click里的其他代码
end sub 

我是菜鸟,不知道我理解的对不对,见谅。我也是发发帖子混点分,然后去发帖求助其他问题 哈哈怎么给自定义控件添加事件
------解决思路----------------------
引用:
Quote: 引用:

1.你的控件继承自buttoncontrol;
2.你的控件重写onclick方法;
3.你的控件定了了委托和事件;

4.外部定义好事件处理器;
5.将事件处理器注册到控件的事件;

控件里定义委托是为了将将时间处理器注册到事件;
外部将处理器注册到控件,相当于订阅了控件的点击事件,当点击事件触发的时候会运行你的处理器。
其实,事件本身就是一个观察者模式。
比如 我自定义的控件嘛,我要鼠标双击它 然后它作出反应。 这个要怎么实现, 好像button按钮的click是内置好的嘛,我自己想做一个,但是不知道怎么实现。


你继承contrlor类,或者buttonbase类里面就有很多事件啊。
1.你写个双击处理函数;
2.注册到双击事件里就行。
------解决思路----------------------
重写自己定义控件的OnClick

class MyCtrl:Control{
   override OnClick(e){
       base.OnClick(e);
       MessageBox.Show("this.Name");
   }
}