Dim box As WinForm.GroupBox = e.Form.Controls("GroupBox1")
Dim w As Integer = box.Width '定义宽度
Dim h As Integer = box.Height '定义高度
Dim kd,gd As Double '定义添加控件的高度与宽度
Dim l As Double = 14 '定义控件离左边的距离
Dim t As Double = 20 '定义控件离顶边的距离
Dim djs() As String = DataTables("等级").GetComboListString("等级","等级>''","_Identify").Split("|")
Dim m As Integer = djs.Length Mod 3 '取余数,每行只放置3个控件
Dim n As Double = djs.Length/3 '取放置控件的行数,<1则为一行;>1则为2行
If n<=1 Then '如果测评等有小于等于3个
For i As Integer = 0 To djs.Length -1
Dim btn As WinForm.Button
btn = e.Form.CreateControl(djs(i),ControlTypeEnum.Button)
btn.Text = djs(i)
btn.Left = L
btn.Top = t
If djs.Length =1 Then
btn.Width = (w-(i+2)*10)/djs.Length -9
ElseIf djs.Length = 2 Then
btn.Width = (w-(i+2)*10)/djs.Length -4
Else
btn.Width = (w-(i+2)*10)/djs.Length
End If
btn.Height = h -30
box.AddControl(btn)
l = l + (w-(i+2)*10)/djs.Length
Next
Else '如果大于3个
'先指定批一排按钮
For i As Integer = 0 To 2
Dim btn As WinForm.Button
btn = e.Form.CreateControl(djs(i),ControlTypeEnum.Button)
btn.Text = djs(i)
btn.Left = l
btn.Top = t
btn.Width = (w-(i+2)*10)/3
btn.Height = (h -30)/2
box.AddControl(btn)
l = l + (w-(i+2)*10)/3
Next
'再动态加载第二排
L = 14
For i As Integer = 3 To DJS.Length-1
Dim btn As WinForm.Button
btn = e.Form.CreateControl(djs(i),ControlTypeEnum.Button)
btn.Text = djs(i)
btn.Left = l
btn.Top = t + (h-30)/2
If djs.Length =4 Then
btn.Width =( w - (i-1) * 10)/(djs.Length -3) -9
ElseIf djs.Length = 5 Then
btn.Width =( w - (i-1) * 10)/(djs.Length -3) -4
Else
btn.Width =( w - (i-1) * 10)/(djs.Length -3)
End If
btn.Height = (h -30)/2
box.AddControl(btn)
l = l+( w - (i-1) * 10)/(djs.Length -3)
Next
End If