以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如和实现从中心一左一右动态加载label标签  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=151041)

--  作者:rongping
--  发布时间:2020/6/13 14:45:00
--  如和实现从中心一左一右动态加载label标签
版主您好!我想通过一个按钮点击事件,从一个Panel内的中心一左一右的实现动态个数的Label标签,这个代码怎么实现?
--  作者:有点蓝
--  发布时间:2020/6/13 14:47:00
--  
参考:http://www.foxtable.com/webhelp/topics/1912.htm
--  作者:rongping
--  发布时间:2020/6/13 15:06:00
--  不好意思,我说的不明确。

单个的Label我可以实现,多个用循环的方式如何实现?
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20200613150407.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/6/13 15:43:00
--  
比如:

Dim txt As WinForm.TextBox
for i as integer = 0 to 6
txt = e.Form.CreateControl(
"TextBox" & i, ControlTypeEnum.TextBox)
txt.Left = 20 + 
100*i
txt.Top = 
100
e.Form.Controls(
"Panel1"
).AddControl(txt)
next

--  作者:rongping
--  发布时间:2020/6/13 18:40:00
--  还是欠缺一点
这个只能是从左到右,无法从中心一左一右的添加进去。
--  作者:liufucan
--  发布时间:2020/6/13 21:19:00
--  
写两个循环一加一减不就行了
[此贴子已经被作者于2020/6/13 21:19:38编辑过]

--  作者:有点蓝
--  发布时间:2020/6/14 20:23:00
--  
如果数量不多,固定的几个标签,直接指定顺序不就行了


dim vr() as integer = {7,5,3,1,2,4,6}
Dim txt As WinForm.TextBox
for i as integer = 0 to vr.length -1
txt = e.Form.CreateControl(
"TextBox" & vr(i), ControlTypeEnum.TextBox)
txt.Left = 20 + 
100*i
txt.Top = 
100
e.Form.Controls(
"Panel1"
).AddControl(txt)
next

--  作者:rongping
--  发布时间:2020/6/16 20:43:00
--  不是很完美

顺序必须一左一右,难点在这里。

如果只是一行很简单


--  作者:有点蓝
--  发布时间:2020/6/16 20:47:00
--  
有多少个标签?10,20,30?分别要什么效果?画图说明
--  作者:rongping
--  发布时间:2020/6/16 21:12:00
--  再想想看
标签的个数是0至10个之间,顺序必须从中间开始然后一左一右的从中间向两边排开。
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20200616210932.jpg
图片点击可在新窗口打开查看