Vb.net 在面板内创建标签时,文本将从VisualBasic中剪切

Vb.net 在面板内创建标签时,文本将从VisualBasic中剪切,vb.net,visual-studio-2013,Vb.net,Visual Studio 2013,我希望能够动态地创建一个带有标签的面板,但是标签也没有像我期望的那样工作,它将大部分面板切掉 当我创建面板,然后在面板内创建标签时,文本显示不正确。有人知道怎么修吗 我们应该做的是用newpanel()子命令创建一个面板,面板上有文本 查看属性的MSDN页面,如前所述,它声明在设计器中标签自动大小属性默认为true,但在代码中创建时为false 从以上链接: 使用设计器添加到表单时,默认值为true。从代码实例化时,默认值为false 因此,您需要将newpanel方法更改为: Private

我希望能够动态地创建一个带有标签的面板,但是标签也没有像我期望的那样工作,它将大部分面板切掉

当我创建面板,然后在面板内创建标签时,文本显示不正确。有人知道怎么修吗

我们应该做的是用newpanel()子命令创建一个面板,面板上有文本


查看属性的MSDN页面,如前所述,它声明在设计器中标签自动大小属性默认为true,但在代码中创建时为false

从以上链接:

使用设计器添加到表单时,默认值为true。从代码实例化时,默认值为false

因此,您需要将
newpanel
方法更改为:

Private Sub newpanel(colour As Color, textT As String)
    Dim Npan As New Panel
    Npan.Top = 0
    Npan.Left = 0
    Npan.Width = Me.Width
    Npan.Height = 64
    Npan.BackColor = colour
    Dim NpanT As New Label
    NpanT.Parent = Npan

    NpanT.Text = textT
    NpanT.AutoSize = True  'Enables Auto sizing
    Npan.Controls.Add(NpanT)
    Me.Controls.Add(Npan)
End Sub

“举止怪异”到底是什么意思?请记住,您几乎没有为标签设置任何属性,因此它采用默认值(包括面板内的位置)。行为怪异意味着它的行为与您的预期不同。您需要指定您期望的是什么以及您得到的是什么。此外,文本显示不正确意味着您的文本显示方式有问题。再一次,你需要描述你期望什么,你得到了什么。如果你不明确你想要什么,你不能指望我们告诉你如何实现你想要的,
Private Sub newpanel(colour As Color, textT As String)
    Dim Npan As New Panel
    Npan.Top = 0
    Npan.Left = 0
    Npan.Width = Me.Width
    Npan.Height = 64
    Npan.BackColor = colour
    Dim NpanT As New Label
    NpanT.Parent = Npan

    NpanT.Text = textT
    NpanT.AutoSize = True  'Enables Auto sizing
    Npan.Controls.Add(NpanT)
    Me.Controls.Add(Npan)
End Sub