Vb.net 向groupbox动态添加复选框
我试图根据数据表中的行数动态地将复选框添加到groupd框中。当循环通过时,我得到了我的第一个结果,但我无法得到下一个结果来显示…这是我的代码Vb.net 向groupbox动态添加复选框,vb.net,checkbox,groupbox,Vb.net,Checkbox,Groupbox,我试图根据数据表中的行数动态地将复选框添加到groupd框中。当循环通过时,我得到了我的第一个结果,但我无法得到下一个结果来显示…这是我的代码 Dim q As String Dim qt As DataTable Dim gbHeight As Integer = 40 Dim checkHG As Integer = 5 Dim checkHN As Integer = 5 q = "Select * from loads where filenu
Dim q As String
Dim qt As DataTable
Dim gbHeight As Integer = 40
Dim checkHG As Integer = 5
Dim checkHN As Integer = 5
q = "Select * from loads where filenumber = " & Shipments2.txtFileNumber.Text
qt = GetSQL(q)
For i = 0 To qt.Rows.Count - 1
Dim items As New List(Of LoadDetails)
Dim ld As New LoadDetails
items = ld.GetListBySQL("select * from loadDetails where LoadNumber = " & qt.Rows(i).Item("id"))
For Each item As LoadDetails In items
Dim checkgross = New CheckBox
Dim checknet = New CheckBox
gbHeight += 20
'add checkbox control to form
checkgross.Location = New Point(40, checkHG + 20)
checkgross.Text = item.Description & " (Gross)"
checkgross.Size = New Size(250, 20)
checkgross.Name = item.ProductCode.ToString & "-gross"
gbGross.Size = New Size(329, gbHeight)
gbGross.Controls.Add(checkgross)
rbPrintingNet.Location = New Point(rbPrintingNet.Location.X, rbPrintingNet.Location.Y + 40)
checknet.Location = New Point(40, checkHN + 20)
checknet.Text = item.Description & " (Net)"
checknet.Size = New Size(250, 20)
checknet.Name = item.ProductCode.ToString & "-net"
gbNet.Location = New Point(44, rbPrintingNet.Location.Y + 25)
gbNet.Size = New Size(329, gbHeight)
gbNet.Controls.Add(checknet)
Me.Size = New Size(Me.Size.Width, Me.Size.Height + 50)
Next
Next
所有控件都直接位于彼此的顶部:
checkgross.Location = New Point(40, checkHG + 20)
因为checkHG
从未改变。更改每个动态控件的位置()。您只需在GroupBox中添加一个停靠的FlowLayoutPanel,就不必担心显式设置每个动态控件的位置()。