Foxtable(狐表)用户栏目专家坐堂 → 动态控件 换行


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

主题:动态控件 换行

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/22 8:37:00 [显示全部帖子]

Dim lbl As WinForm.Button
    If dr("窗口按键_按键") < > Nothing Then       
        Dim Value As String = dr("窗口按键_按键")
        Dim sps() As Char = {"|"}
        Dim Names() As String  = Value.Split(sps)
dim i as integer = 40
dim t as integer = 36
        For i As Integer = 0 To Names.length - 1
            Dim nm As String = Names(i)
            lbl = e.Form.CreateControl(nm, ControlTypeEnum.Button)
            lbl .Text = nm
            lbl.name = nm
            lbl.Left = i
            lbl.Top = t
            lbl.Width = 35
            lbl.Height = 40
            e.Form.AddControl(lbl)          
if i mod 5 = 0 then
i = 40
t = t + 40+10
else
i = i + 35 + 10
end if
        Next
    End If

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/22 20:23:00 [显示全部帖子]

        For i As Integer = 0 To Names.length - 1
            Dim nm As String = Names(i)
            lbl = e.Form.CreateControl(nm, ControlTypeEnum.Button)
            lbl .Text = nm
            lbl.name = nm
            lbl.Left = i1
            lbl.Top = t
            lbl.Width = 35
            lbl.Height = 40
            e.Form.AddControl(lbl)
            If i Mod 5 = 0 Then
                i1 = 36
                t = t + lbl.Height + 10
                Else
                i1 = i1 + 35
            End If
        Next
    End If

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/23 8:37:00 [显示全部帖子]

If i Mod 5 = 0 Then
改为

If i > 1 andalso i Mod 5 = 0 Then

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/23 10:22:00 [显示全部帖子]

            e.Form.AddControl(lbl)
if i = 0 then 
s = s + 35
else
            If i Mod 5 = 0 Then
                s = 2
                t = t + lbl.Height + 2
               Else
                s = s + 35
            End If
end if
        Next

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/23 11:34:00 [显示全部帖子]

For i As Integer = 0 To Names.length - 1
    If i <> 0 Then
        If i Mod 5 = 0 Then
            s = 2
            t = t + lbl.Height + 2
        Else
            s = s + 35
        End If
    End If
    Dim nm As String = Names(i)
    lbl = e.Form.CreateControl(nm, ControlTypeEnum.Button)
    lbl .Text = nm
    lbl.name = nm
    lbl.Left = s
    lbl.Top = t
    lbl.Width = 35
    lbl.Height = 40
    e.Form.AddControl(lbl)
Next

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


加好友 发短信
等级:超级版主 帖子:107783 积分:548260 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/12 13:37:00 [显示全部帖子]

s,t这些变量,后面根本没有用到,当然没有效

 回到顶部