1
im은 tablelayoutpanel을 포함하는 usercontrol을 빌드하려고합니다. 이 패널에서 나는 동적으로 각 너비와 모든 껍질이 동일한 높이 (tablelayoutpanel의 높이의 20 %)를 갖는 5 개의 행을 갖는 3 개의 열을 추가해야합니다.런타임시 TableLayoutPanel 행 및 열
Private Sub BuildGUI()
If Rows > 0 Then
tlp.Controls.Clear()
tlp.ColumnStyles.Clear()
tlp.RowStyles.Clear()
If Style = Styles.Adding Then
tlp.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 30))
tlp.ColumnStyles.Add(New ColumnStyle(SizeType.Autosize))
tlp.ColumnStyles.Add(New ColumnStyle(SizeType.Absolute, 20))
tlp.ColumnCount = 3
tlp.RowStyles.Add(New RowStyle(SizeType.AutoSize, 20%))
tlp.RowStyles.Add(New RowStyle(SizeType.AutoSize, 20%))
tlp.RowStyles.Add(New RowStyle(SizeType.AutoSize, 20%))
tlp.RowStyles.Add(New RowStyle(SizeType.AutoSize, 20%))
tlp.RowStyles.Add(New RowStyle(SizeType.AutoSize, 20%))
tlp.RowCount = Rows
For i = 0 To Rows - 1
Dim L As New Label
Dim T As New TextBox
Dim C As New CheckBox
With L
.BackColor = Color.Aqua
'.Dock = DockStyle.Fill
.Visible = True
.BorderStyle = Windows.Forms.BorderStyle.FixedSingle
.Font = New Font("Microsoft Sans Serif", 11, FontStyle.Bold)
End With
tlp.Controls.Add(L, 0, i)
With T
.BackColor = Color.Beige
.Visible = True
.Multiline = True
.ScrollBars = ScrollBars.Vertical
.Dock = DockStyle.Fill
End With
tlp.Controls.Add(T, 1, i)
With C
.Visible = True
.BackColor = Color.Brown
End With
tlp.Controls.Add(C, 2, i)
Next
Else
End If
End If
:
, 컬럼 (20)의 절대 폭을 가져야 콘텐츠 (.dock = 채우기 텍스트 상자) 의 폭을 따라 2 열은 30
내 코드의 폭을 COLUMN3
End Sub
스타일 & 행은 Usercontrol의 속성입니다.
하지만 그 결과는 결코 원하는 결과가 아닙니다. 어떤 아이디어? 같은과 사투를 벌인 사람을 위해