怎么给自定义控件添加事件
如何给自定义控件添加事件
比如定义一个自定义控件 myControl1 后,现在我想在其他文件引用了这个控件。但是 我想 在鼠标点击这个控件时提示一个Messagebox。
自己定义 委托 和事件后,怎么调用 ? 不通过比如this.button1.Click += new System.EventHandler(this.button1_Click),在 button1_Click() 这个函数中实现,要鼠标点击 我这个myControl1 所在的区域,自动发生。
或者说 其实我的问题就是如何做一个this.button1.Click 这样一个东西,鼠标点击,它就有反应。
------解决思路----------------------
自定义控件?你是说代码生成的吗?你在创建他的时候可以添加 我拿vb举例 刚好我前面也刚学会
然后如果你要在myControl1_click(xxxxxxxxxxxx)触发时,调用 btn.click属性的话 你可以这样
我是菜鸟,不知道我理解的对不对,见谅。我也是发发帖子混点分,然后去发帖求助其他问题 哈哈
------解决思路----------------------
你继承contrlor类,或者buttonbase类里面就有很多事件啊。
1.你写个双击处理函数;
2.注册到双击事件里就行。
------解决思路----------------------
重写自己定义控件的OnClick
比如定义一个自定义控件 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
我是菜鸟,不知道我理解的对不对,见谅。我也是发发帖子混点分,然后去发帖求助其他问题 哈哈
------解决思路----------------------
你继承contrlor类,或者buttonbase类里面就有很多事件啊。
1.你写个双击处理函数;
2.注册到双击事件里就行。
------解决思路----------------------
重写自己定义控件的OnClick
class MyCtrl:Control{
override OnClick(e){
base.OnClick(e);
MessageBox.Show("this.Name");
}
}