Я создал новую вкладку и добавил к ней richtextbox:
Private Sub AddTab(ByVal ctrl As TabControl, _
ByVal text As String)
If Me.InvokeRequired Then
Me.Invoke(New AddTabDelegate(AddressOf AddTab), _
New Object() {ctrl, text})
Return
End If
Dim NewTab As New TabPage
NewTab.Name = "OutputTab" & outputs.Item(outputs.Count - 1)
NewTab.Text = "Domain"
Dim NewTextbox As New RichTextBox
NewTextbox.Name = "OutputTextbox" & outputs.Item(outputs.Count - 1)
ctrl.Controls.Add(NewTab)
NewTab.Controls.Add(NewTextbox)
End Sub
Теперь я пытаюсь получить доступ к richtextbox где-то еще в коде:
Dim NewTextbox As RichTextBox
NewTextbox = Me.Controls.Item("OutputTextbox" & current_output)
debug.print(NewTextbox.name)
Iполучить следующую ошибку:
A first chance exception of type 'System.NullReferenceException' occurred in program.exe
Я знаю, что имя является точным, потому что я напечатал имя в методе создания, и я напечатал строку имени в коде, где я пытаюсь получить к нему доступ.
Так что, судя по всему, .Item()
- неправильный способ доступа к элементу управления.
Так как получить доступ к динамически созданному элементу управления?