以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何动态增加groubox并且控制其大小 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=100740) |
-- 作者:rjh4078 -- 发布时间:2017/5/17 16:04:00 -- 如何动态增加groubox并且控制其大小 如附件 现在能实现动态增加控件 想实现将同表B中相同类型的控件显示在同一个groupbox中 groupbox的宽度和pan1相同或小于一个固定值 groupbox的高度根据里面的checkbox的多少动态变化 现在无法实现groupbox的动态位置调整 [此贴子已经被作者于2017/5/17 16:03:53编辑过]
|
-- 作者:rjh4078 -- 发布时间:2017/5/17 16:04:00 -- 为什么看不到附件 |
-- 作者:有点色 -- 发布时间:2017/5/17 16:22:00 -- Dim tab1 As WinForm.TabControl=e.Form.Controls("TabControl1") Dim gb As WinForm.GroupBox e.Form.Controls("pan1").basecontrol.controls.clear Dim ay As Integer = 10 For Each na As String In DataTables("表B").GetValues("类型","启用=1") gb=e.Form.CreateControl(na, ControlTypeEnum.GroupBox) gb.text=na e.Form.Controls("pan1").AddControl(gb) Dim i As Integer = 0 Dim x As Integer = 10 Dim y As Integer = 10 For Each dr As DataRow In DataTables("表B").Select("启用=1 and 类型 = \'" & na & "\'") Dim btn = e.Form.CreateControl(dr("名称"), ControlTypeEnum.CheckBox) btn.Text = dr("名称") btn.Left = x + i*120 btn.Top = y i = i+1 If i Mod 2 = 0 Then i = 0 x = 10 y += 45 End If gb.AddControl(btn) Next gb.width = e.Form.controls("pan1").width gb.height = y + 45 gb.left = 0 gb.Top = ay msgbox(ay) ay = ay + y + 45 Next |
-- 作者:rjh4078 -- 发布时间:2017/5/17 17:24:00 -- O(∩_∩)O谢谢 我研究下 |