以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  动态控件 换行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=175854)

--  作者:有点蓝
--  发布时间: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

--  作者:有点蓝
--  发布时间: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
--  作者:有点蓝
--  发布时间:2022/3/23 8:37:00
--  
If i Mod 5 = 0 Then
改为

If i > 1 andalso i Mod 5 = 0 Then

--  作者:有点蓝
--  发布时间: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

--  作者:有点蓝
--  发布时间: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

--  作者:有点蓝
--  发布时间:2022/4/12 13:37:00
--  
s,t这些变量,后面根本没有用到,当然没有效