当前位置:编程学习 > C#/ASP.NET >>

捕获RaiseEvent事件

我的自定义控件中有一个Touch事件,想在放置该控件的Form中,捕获这个Touch事件
来集中处理。

请问,在Form中怎么能捕获到这个自定义控件的Touch事件。
--------------------编程问答-------------------- 前提是我还不知道您这个Touch事件是怎么激发的,假设能够正常激发该事件,先不用考虑再哪里使用raiseevent语句

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

需要注意的是:OnTouch这个事件处理函数的参数列表必须和定义事件委托(比如EventHandler(byval sender as object, byval e as EventArg))的参数列表一致。 --------------------编程问答-------------------- 愁人.
raiseevent      不就是触发事件的嘛. --------------------编程问答-------------------- 没明白,跟写一个Button的Click事件有什么区别 --------------------编程问答-------------------- 已经知道答案了。。。 --------------------编程问答-------------------- addhandler   me.自定义控件.Touch,   addressof   OnTouch  --------------------编程问答--------------------

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


补充:.NET技术 ,  VB.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,