Foxtable(狐表)用户栏目专家坐堂 → 关于在窗口或容器中动态添加控件的问题!!


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

主题:关于在窗口或容器中动态添加控件的问题!!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/5 14:24:00 [显示全部帖子]

动态添加,动态设置控件的位置和宽高就行

 

http://www.foxtable.com/help/topics/1409.htm

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/5 15:15:00 [显示全部帖子]

Dim ls As List(Of String) = DataTables("表A").GetValues("第一列", "第一列 is not null")
Dim t As Double = 0
Dim l As Double = 0
Dim m As Integer = ls.count Mod 3
For i As Integer = 0 To ls.Count - m - 1
    Dim btn As WinForm.button
    btn = e.Form.CreateControl("button" & ls(i), ControlTypeEnum.Button)
    btn.Text = ls(i)
    If i = 0 Then
        t = 100
        l = 0
    Else If i Mod 3 = 0
        t += 150
        l = 0
    Else
        l += 220
    End If
    btn.width = 200
    btn.height = 100
    btn.Left = l
    btn.Top = t
    e.Form.AddControl(btn)
Next
Dim w As Double = (640 - (m-1)*20) / m
l = 0
t += 150
For i As Integer = ls.Count - (ls.count Mod 3) To ls.Count - 1
    Dim btn As WinForm.button
    btn = e.Form.CreateControl("button" & ls(i), ControlTypeEnum.Button)
    btn.Text = ls(i)
   
    btn.width = w
    btn.height = 100
    btn.Left = l
    btn.Top = t
    l += w + 20
    e.Form.AddControl(btn)
Next

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/5 16:25:00 [显示全部帖子]

 t += 150 等同于 t = t + 150

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/7 19:50:00 [显示全部帖子]

 能用就好。

 回到顶部