调用 New 后,“对象引用未设置到对象的实例”

问题描述 投票:0回答:1
Public Class Form1
    Dim Form2 As Form2
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        With Me.Form2
            Me.Form2 = New Form2("Some name")
            .TopLevel = False
        End With
    End Sub
End Class
Public Class Form2
    Public Property AAAName As String
    Sub New(NameInput As String)
        Me.AAAName = NameInput
        InitializeComponent()
    End Sub
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub
End Class

当我运行代码(从 Form1 开始)时,出现错误:对象引用未设置到对象的实例

enter image description here

vb.net was
1个回答
0
投票

尝试在 With 块之前初始化 Form2,如下所示:

Public Class Form1
Dim Form2 As Form2

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Me.Form2 = New Form2("Form name")
    
    With Me.Form2
        .TopLevel = False
    End With

    Me.Controls.Add(Form2)
    Form2.Show()
  End Sub
End Class



Public Class Form2
Public Property AAAName As String

Sub New(NameInput As String)
    Me.AAAName = NameInput
    InitializeComponent()
End Sub

Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load

  End Sub
End Class
© www.soinside.com 2019 - 2024. All rights reserved.