捕获RaiseEvent事件

eatsun 2007-11-28 10:22:08
我的自定义控件中有一个Touch事件,想在放置该控件的Form中,捕获这个Touch事件
来集中处理。

请问,在Form中怎么能捕获到这个自定义控件的Touch事件。
...全文
173 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzuomin 2008-02-29
  • 打赏
  • 举报
回复

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim testcontrol As New MyControl
AddHandler testcontrol.Touch, AddressOf OnTouch
Me.Controls.Add(testcontrol)
End Sub

Private Sub OnTouch()
MsgBox("自定义控件中的事件Touch已触发!")
End Sub

End Class

Public Class MyControl
Inherits UserControl

Public Event Touch()

Public Sub New()
InitializeComponent()

Me.BorderStyle = Windows.Forms.BorderStyle.FixedSingle
End Sub

'假设该事件在MouseEnter中触发
Private Sub MyControl_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.MouseEnter
RaiseEvent Touch()
End Sub
End Class


macenjie 2008-02-29
  • 打赏
  • 举报
回复
addhandler me.自定义控件.Touch, addressof OnTouch
herol 2008-02-28
  • 打赏
  • 举报
回复
没明白,跟写一个Button的Click事件有什么区别
「已注销」 2008-02-28
  • 打赏
  • 举报
回复
已经知道答案了。。。
足球中国 2008-02-27
  • 打赏
  • 举报
回复
愁人.
raiseevent 不就是触发事件的嘛.
woshishei 2007-11-28
  • 打赏
  • 举报
回复
前提是我还不知道您这个Touch事件是怎么激发的,假设能够正常激发该事件,先不用考虑再哪里使用raiseevent语句

在Form的Load函数中加入语句
addhandler me.自定义控件.Touch, addressof OnTouch

需要注意的是:OnTouch这个事件处理函数的参数列表必须和定义事件委托(比如EventHandler(byval sender as object, byval e as EventArg))的参数列表一致。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧