【发布时间】:2016-04-01 06:09:35
【问题描述】:
我已经被困在这两个小时了。我搜索了很多答案,但仍然无法弄清楚我的程序出了什么问题。
我在 form2 中有一个 TableLayoutPanel1。这是我创建标签、列表然后将所有这些标签添加到 TableLayOutPanel1 的代码:
Public Class Form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim lbl0, lbl1, lbl11, lbl2, lbl22, lbl3, lbl33, lbl4, lbl44, lbl5, lbl55, lbl6, lbl66, lbl7, lbl77 As New Label
lbl0.Text = "ACCESORIOS"
lbl0.Font = New System.Drawing.Font("MS Reference Sans Serif", 15.75, FontStyle.Bold)
lbl0.Location = New Point(110, 12)
lbl0.AutoSize = True
Me.Controls.Add(lbl0)
lbl1.Text = "Té 180°"
lbl11.Text = Te180
lbl2.Text = "Té 90° Empalme - Codo Triple"
If Global1 <> 0 Then
lbl22.Text = 0
Else
lbl22.Text = Global2 - 1
End If
lbl3.Text = "Soporte 90° T/T"
lbl33.Text = SoporteTT90
lbl4.Text = "Base para tubo de 1 1/2 - 3 agujeros"
lbl44.Text = Int(lbl11.Text) + Int(lbl22.Text) + (lbl33.Text)
lbl5.Text = "Base para tubo de 1 1/2 - 1 agujero"
lbl55.Text = 2
lbl6.Text = "Tapas para base de tubo de 1 1/2"
lbl66.Text = lbl44.Text
lbl7.Text = "Tornillos y Tarugos 5 x 50 y N°8 Ladrillo Hueco"
lbl7.Font = New System.Drawing.Font("MS Reference Sans Serif", 15.75, FontStyle.Bold)
lbl77.Text = (Int(lbl44.Text) + Int(lbl55.Text)) * 3
Dim labellist As New List(Of Label)()
labellist.Add(lbl1)
labellist.Add(lbl2)
labellist.Add(lbl3)
labellist.Add(lbl4)
labellist.Add(lbl5)
labellist.Add(lbl6)
labellist.Add(lbl7)
labellist.Add(lbl11)
labellist.Add(lbl22)
labellist.Add(lbl33)
labellist.Add(lbl44)
labellist.Add(lbl55)
labellist.Add(lbl66)
labellist.Add(lbl77)
Dim h = 0
For i = 0 To 1
For j = 0 To 6
Dim etiqueta As New Label
etiqueta.Text = labellist(h).Text
TableLayoutPanel1.Controls.Add(etiqueta, i, j)
h = h + 1
Next
Next
End Sub
End Class
问题是完整的标签没有出现在表格中。[在此处输入图像描述][1]
我尝试过自动调整标签、表格布局的大小。没有任何效果。就像有一条不可见的线不允许标签的文本越过表格中的一条线。任何帮助表示赞赏。谢谢。
form2 中的布局。 enter image description here
当我在 TLP 5pts 中制作字体时会发生什么。整个标签出现在两行中。 enter image description here
【问题讨论】:
-
我不知道我应该在该图像中看到什么 - 您可能已将标签背面颜色更改为蓝色或红色以进行说明,但可能是它们未停靠或边距/填充TLP
-
图片显示标签文字不完整。如果你看到代码,很多名字要长得多。
-
很好,但我不知道这是因为 TLP 宽度还是其他原因 - 到处都是灰色的,无法分辨标签的开始和结束位置。确保与他们一起使用 DockFill。
-
我尝试了以下标签之一:lbl4.Dock = DockStyle.Fill。我仍然看不到标签的全文。 TLP 的宽度在 form2.vb(设计形式)中给出。我将编辑正文并添加更多图片。
-
Ummm
lbl4永远不会添加到 TLP。您创建所有具有特殊属性的标签并将它们添加到列表中。然后你遍历列表并创建一个新的标签,其中只有列表中特殊的文本。您也不需要顶部的那一长串标签 - 您只需要一个临时变量。更改 lbl4 或 7 的颜色,您将不会在表单上看到该颜色。您在循环中创建的新标签仍将具有默认值。然后在方法结束时,列表中的所有标签都会消失而不被处理。