以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]自动排列控件间距 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=119284) |
||||
-- 作者:blsu33 -- 发布时间:2018/5/22 9:50:00 -- [求助]自动排列控件间距 老师, 动态添加的控件,如何能自动根据PANL 的宽高排列 控件的间距呢?
|
||||
-- 作者:blsu33 -- 发布时间:2018/5/22 9:52:00 -- 希望 每行 2或3组 多余的 另起一行 |
||||
-- 作者:有点甜 -- 发布时间:2018/5/22 10:24:00 --
|
||||
-- 作者:blsu33 -- 发布时间:2018/5/23 6:35:00 -- 老师, 后续排版是手工弄(增加列填写left top)还是代码调整呢? 例如 Lable 有4个字符 如经济类型 有两个字符的 如 性别 两个都是左对齐 可是 对应的 位置 TEXTBOX 就不对齐了,怎么写代码能让界面控件 再好看些
|
||||
-- 作者:有点甜 -- 发布时间:2018/5/23 9:29:00 -- 以下是引用blsu33在2018/5/23 6:35:00的发言:
老师, 后续排版是手工弄(增加列填写left top)还是代码调整呢?
例如 Lable 有4个字符 如经济类型 有两个字符的 如 性别 两个都是左对齐
可是 对应的 位置 TEXTBOX 就不对齐了,怎么写代码能让界面控件 再好看些
你可以先给label赋值,然后得到每个label的width属性,取最大那个width的值,然后设置各个textbox的位置,即可。 |
||||
-- 作者:blsu33 -- 发布时间:2018/5/23 20:54:00 -- Dim lablen As Integer=DataTables("控件类型").Compute(Max(length([pouttabcolcap])),co ntrolgzid=\'jd0101\'") 这样写不行?
[此贴子已经被作者于2018/5/23 20:55:55编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/5/23 21:32:00 -- 不可以这样,必须先全部取出,然后再比较的。
或者,你表格那里可以加入辅助列,计算每个控件的标题的字符数,那就可以直接查到字符最大的了。 |
||||
-- 作者:blsu33 -- 发布时间:2018/5/23 22:38:00 -- 老师, 您再给看看 没对齐 另外 三行 控件 行距 能在小点怎么改 改成两行 怎么写? [此贴子已经被作者于2018/5/23 22:38:24编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/5/23 23:02:00 -- 比如
Dim e = args(0) |
||||
-- 作者:blsu33 -- 发布时间:2018/6/9 21:37:00 -- 老师, 想要4列 两行 怎么写 下面的格式不对 For Each dr3 As DataRow In drs2 Dim lb = dic("lb_" & dr3("pouttabcolcap")) Dim kj = dic("kj_" & dr3("pouttabcolcap")) lb.top = iif(i Mod 4 = 0, 5, 8+(i\\4)*h) lb.left = iif(i Mod 4 = 0, 5, i*w+lablen) lb.backcolor=color.red lb.text = dr3("pouttabcolcap").padleft(len-dr3("pouttabcolcap").length) & ":" kj.top = iif(i Mod 4 = 0, 5, 8+(i\\4)*h) kj.left = iif(i Mod 4 = 0, 5, i*w+lablen) + lablen kj.width=180 i += 1 Next |