【问题标题】:VB.NET Create a dynamic textbox and have a different functionVB.NET 创建动态文本框并具有不同的功能
【发布时间】:2021-02-26 07:21:00
【问题描述】:

所以我在这里尝试创建一个动态文本框,每个文本框都有不同的功能 但遗憾的是消息框不起作用我正在学习自我学习这个,我很难过。谁能告诉我我做错了什么?

 Public Function AddNewTextBox() As System.Windows.Forms.TextBox
    Dim txt As New System.Windows.Forms.TextBox()
    Me.Controls.Add(txt)
    txt.Top = cLeft * 25
    txt.Left = 100
    txt.Text = "TextBox " & Me.cLeft.ToString
    txt.Name = "TextBox" & Me.cLeft.ToString
    cLeft = cLeft + 1
    Return txt
    AddHandler txt.TextChanged, AddressOf Me.text_change


    Dim txt1 As New System.Windows.Forms.TextBox()
    Me.Controls.Add(txt1)
    txt1.Top = cLeft * 15
    txt1.Left = 90
    txt1.Text = "1 " & Me.cLeft.ToString
    txt1.Name = "TextBox" & Me.cLeft.ToString
    cLeft = cLeft + 1
    Return txt
    AddHandler txt1.TextChanged, AddressOf Me.text1_change
End Function

Private Sub text_change(ByVal sender As System.Object, ByVal e As System.EventArgs)
    MessageBox.Show("The First Text has Been Change.")
End Sub

Private Sub text1_change(ByVal sender As System.Object, ByVal e As System.EventArgs)
    MessageBox.Show("The Second Text has Been Change.")
End Sub

【问题讨论】:

    标签: vb.net basic


    【解决方案1】:

    查看您发布的代码的第 9 行:

    Return txt
    

    当执行到达该行时,方法完成并且不会执行后续代码行。这意味着事件处理程序没有附加到第一个TextBox,甚至没有创建第二个。

    你为什么要退回任何东西?您正在创建两个TextBoxes,那么返回其中一个有什么意义呢?将方法设为 Sub 并去掉 Return 语句,或者在方法末尾将两个 TextBoxes 一起返回到数组等中。

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-14
      • 2020-01-16
      • 1970-01-01
      • 2011-04-06
      相关资源
      最近更新 更多