vb.net使用类创建标签

vb.net使用类创建标签,vb.net,Vb.net,我不熟悉使用类和OOP。我已经创建了一个类,它将在每次调用时创建一个新标签。这是我的密码: Public lbl As New Label Public txt As New TextBox Public controls As List(Of Control) Public Sub New() 'Add a label lbl.Name = "Label" & 1 lbl.Text = "Student " & 1 & ":" lbl.

我不熟悉使用类和OOP。我已经创建了一个类,它将在每次调用时创建一个新标签。这是我的密码:

Public lbl As New Label
Public txt As New TextBox
Public controls As List(Of Control)
Public Sub New()
    'Add a label

    lbl.Name = "Label" & 1
    lbl.Text = "Student " & 1 & ":"
    lbl.Size = New Size(65, 20)
    lbl.Location = New Point(10, (10 * 22) + 5)

    controls.Add(lbl)
End Sub
调用该类时,我收到以下错误消息:

An unhandled exception of type 'System.NullReferenceException' occurred in Project.exe    Additional information: Object reference not set to an instance of an object.
消息突出显示的代码行是:

controls.Add(lbl)

任何帮助都将不胜感激,谢谢

您必须确保您的控件列表已实例化,然后才能尝试使用。。。控件=新列表(控件)当我调用类时,标签没有显示,是否有我缺少的内容?也许你可以添加lbl.Visible=True,但我不确定。。。我应该认为标签需要从类中添加到表单中,如form1.controls.add(mycontrolslist(0))行
form1.controls.add(mycontrolslist(0))
行,谢谢:)我使用了0,因为您添加的标签是列表中的第一个标签,实际上,如果要显示添加到列表中的最后一个标签。。。。比你应该使用的。。。。form1.controls.add(mycontrolslist(mycontrolslist.count-1))您希望在何处添加新标签?是否要将其添加到表单中?
Public lbl As New Label
Public txt As New TextBox
Public controls As List(Of Control)

Public Sub New()
  'Add a label

  lbl.Name = "Label" & 1
  lbl.Text = "Student " & 1 & ":"
  lbl.Size = New Size(65, 20)
  lbl.Location = New Point(10, (10 * 22) + 5)
  If (controls is nothing) = True Then controls = new list(of Control)
  controls.Add(lbl)
End Sub