VB.NET UserControl不接收父表单的事件

时间:2014-06-06 17:52:52

标签: vb.net user-controls

我创建了一个usercontrol并将其添加到表单中。 我想使用Private WithEvents _Parent As Form接收表单的事件。 但是没有收到任何事件。

附上了我的usercontrol的整个代码。

有人看到我做错了吗?

Public Class UserControl1

Private WithEvents _Parent As Form

Public Sub New()

    InitializeComponent()

    _Parent = Me.Parent

End Sub

Private Sub _Parent_Activated(sender As Object, e As EventArgs) Handles _Parent.Activated

    MsgBox("activated")

End Sub

Private Sub _Parent_Resize(sender As Object, e As EventArgs) Handles _Parent.Resize

    MsgBox("resize")

End Sub

结束班

1 个答案:

答案 0 :(得分:1)

调用构造函数时,尚未生成父级(在创建类之后,Windows窗体控件将添加到其父级)。此时Me.Parent会返回Nothing

处理Me.ParentChanged初始化_Parent

Private Sub UserControl1_ParentChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.ParentChanged
    _Parent = Me.Parent
End Sub