0

在用户控件中,在运行时,我在 tablelayoutpanel 中创建 5 行和 3 列。我用控件填充的单元格:标签、文本框、复选框......工作......

这是我的代码:

Private Sub GenerateGUI(Cboxes As Integer, Tboxes As Integer)

    tlp.Controls.Clear()
    tlp.RowStyles.Clear()
    tlp.ColumnStyles.Clear()

    If Cboxes > 0 And Tboxes > 0 Then 
        tlp.RowStyles.Add(New RowStyle(SizeType.Percent, 20%))
        tlp.RowCount = Checkboxes

        tlp.ColumnStyles.Add(New ColumnStyle(SizeType.AutoSize))
        tlp.ColumnCount = 3

        For i = 1 To Checkboxes
            Dim L As New Label, TB As New TextBox, CB As New CheckBox

            With L
                .Dock = DockStyle.Fill
                .Visible = True
                .Text = Chr(64 + i) '65 = capital A
                .Font = New Font("Microsoft Sans Serif", 11, FontStyle.Bold)
                .BackColor = Color.Aqua
            End With

            With TB
                .Name = "txt" & i
                .Dock = DockStyle.Fill
                .Visible = True
                .Multiline = True
                .Font = New Font("Microsoft Sans Serif", 11, FontStyle.Regular)
                .ScrollBars = ScrollBars.Vertical
            End With

            With CB
                .Name = "chk" & i
                .Dock = DockStyle.Fill
                .Visible = True
                .BackColor = Color.LightGray
           End With


            tlp.Controls.Add(L, 0, i - 1)
            tlp.Controls.Add(TB, 1, i - 1)
            tlp.Controls.Add(CB, 2, i - 1)
        Next
End Sub

这就是它的外观:

在图片中,您还可以看到它应该是怎样的。我究竟做错了什么?我没有想法......

4

0 回答 0