Foxtable(狐表)用户栏目专家坐堂 → 如和实现从中心一左一右动态加载label标签


  共有3433人关注过本帖树形打印复制链接

主题:如和实现从中心一左一右动态加载label标签

帅哥哟,离线,有人找我吗?
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106017 积分:539172 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/16 21:59:00 [只看该作者]

如果只有几个标签,看7楼,先固定好顺序生成即可

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106017 积分:539172 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/16 22:05:00 [只看该作者]

如果要找规律,也不复杂。12在中间,左边都是奇数递减,右边都是偶数递增、比如9个标签,9是奇数,从左边开始9,7,5,3,1,紧接着是2,4,6,8,还是从左边开始生成标签,从9开始递减到1,接着肯定是2,然后开始偶数递增,直到小于9停止。

 回到顶部
帅哥哟,离线,有人找我吗?
rongping
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:349 积分:2993 威望:0 精华:0 注册:2018/3/15 16:46:00
  发帖心情 Post By:2020/6/17 12:49:00 [只看该作者]

试了好多次,标签的间隔始终控制不好


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106017 积分:539172 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/17 13:34:00 [只看该作者]

贴出具体代码

 回到顶部
帅哥哟,离线,有人找我吗?
rongping
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:349 积分:2993 威望:0 精华:0 注册:2018/3/15 16:46:00
纠正一下  发帖心情 Post By:2020/6/17 18:54:00 [只看该作者]

Dim label As WinForm.Label

For i As Integer = 0 To 8
    If i Mod 2 = 0 Then
        label = e.Form.CreateControl("label" & i, ControlTypeEnum.Label)
        label.Left =e.Form.Width /2 + label.Width+label.Width/2
        label.Top = 5
        e.Form.Controls("Panel1").AddControl(label)
    Else
        label = e.Form.CreateControl("label" & i, ControlTypeEnum.Label)
        label.Left =e.Form.Width /2 - label.Width+label.Width/2
        label.Top = 5
        e.Form.Controls("Panel1").AddControl(label)
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
liufucan
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:645 积分:5680 威望:0 精华:0 注册:2017/4/7 12:15:00
  发帖心情 Post By:2020/6/18 8:48:00 [只看该作者]

简单改了一下

Dim label As WinForm.Label


For i As Integer = 0 To 18
    If i Mod 2 = 0 Then
        label = e.Form.CreateControl("label" & i, ControlTypeEnum.Label)
        label.Width=20
        label.Height=80
label.Text = "标签" & i
label.AutoSize=False
        label.Left =e.Form.Width /2 + (label.Width)*i +label.Width/2
        label.Top = 5
        e.Form.Controls("Panel1").AddControl(label)
    Else
        label = e.Form.CreateControl("label" & i, ControlTypeEnum.Label)
 label.Width=20
        label.Height=80
label.Text = "标签" & i
label.AutoSize=False
        label.Left =e.Form.Width /2 - ((label.Width)*i+label.Width/2)
        label.Top = 5
        e.Form.Controls("Panel1").AddControl(label)
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106017 积分:539172 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/18 8:56:00 [只看该作者]

Dim label As WinForm.Label
Dim p As WinForm.Panel = e.Form.Controls("Panel1")
Dim w As Integer = p.Width /2
Output.Show(w)
For i As Integer = 0 To 8
    label = e.Form.CreateControl("label" & (i+1), ControlTypeEnum.Label)
    label.AutoSize = False
    label.Width = 20
    label.height = 100
    label.Text = "标签" & (i+1)
    If i Mod 2 = 0 Then
        label.Left = w - i / 2 * (label.Width+20)  - label.Width
        label.Top = 5
        p.AddControl(label)
    Else
        label.Left =w + i / 2 * (label.Width +20)
        label.Top = 5
        p.AddControl(label)
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
liufucan
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:645 积分:5680 威望:0 精华:0 注册:2017/4/7 12:15:00
  发帖心情 Post By:2020/6/18 9:02:00 [只看该作者]

Dim label As WinForm.Label


For i As Integer = 0 To 8
    If i Mod 2 <> 0 Then
        label = e.Form.CreateControl("label" & i, ControlTypeEnum.Label)
        label.Width=20
        label.Height=80
label.Text = "标签" & (i+1)
label.AutoSize=False
        label.Left =e.Form.Width /2 + (label.Width)*i +label.Width/2
        label.Top = 5
        e.Form.Controls("Panel1").AddControl(label)
    Else
        label = e.Form.CreateControl("label" & i, ControlTypeEnum.Label)
 label.Width=20
        label.Height=80
label.Text = "标签" & (i+1)
label.AutoSize=False
        label.Left =e.Form.Width /2 - ((label.Width)*i+label.Width/2)
        label.Top = 5
        e.Form.Controls("Panel1").AddControl(label)
    End If
Next

 回到顶部
总数 18 上一页 1 2