2016-03-31 2 views
1

Я застрял в этом в течение двух часов. Я много искал ответа, и до сих пор не могу понять, что случилось с моей программой.Размер этикеток в таблицеLayoutPanel

У меня есть TableLayoutPanel1 в форме2. Это код, в котором я создавать ярлыки, список, а затем добавить все эти ярлыки к 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]

Я пробовал автоизображение этикеток, планшета. Ничего не работает. Это похоже на невидимую строку, которая не позволяет тексту метки проходить через строку в таблице. Любая помощь оценивается. Благодарю.

Макет в форме2. enter image description here

Что происходит, когда я делаю шрифт в TLP 5pts. Вся метка отображается в двух строках. enter image description here

+0

Я не знаю, что я должен видеть в этом изображении - вы, возможно, изменили цвет метки на синий или красный, чтобы проиллюстрировать, но это может быть не Docked, либо поле/дополнение TLP – Plutonix

+0

Изображение показывает, что тексты ярлыков не заполнены. Если вы видите код, многие имена намного длиннее. –

+0

Хорошо, но я не могу сказать, что это из-за ширины TLP или чего-то еще - все везде повсеместно, без возможности сказать, где начинаются и заканчиваются ярлыки. Обязательно используйте DockFill с ними. – Plutonix

ответ

1

В основном вы создаете все эти ярлыки, храните их в списке. Затем все, что вы используете для этого, это установить текст на другой новый ярлык, который вы создаете, чтобы добавить в коллекцию элементов управления.

Вот короче, более простой способ, чтобы сделать все, что без дополнительного списка, и только одна царапина переменная метка для TLP набор:

Dim texts = {"Te 180", "Te 90 - blah blah blah", "Soprte 90 T/T", 
      "Torillas y salsa", "Torillas y salsa y guacamole"} 

Dim lbl As Label 
For n As Int32 = 0 To texts.Length - 1 
    lbl = New Label 
    lbl.Text = texts(n) 
    ' more important than autozise, probably: 
    lbl.Dock = DockStyle.Fill 
    ' debug: to see the border for tweaking 
    lbl.BorderStyle = BorderStyle.FixedSingle 
    ' add the one you created to the controls collection 
    tlp1.Controls.Add(lbl, 0, n) 
Next 
+0

Спасибо! И да .. мой код на испанском языке: P –

+0

Сделаю. Благодаря! Эта веб-страница потрясающая. Люди очень полезны и оперативно отвечают. –

Смежные вопросы