Foxtable(狐表)用户栏目专家坐堂 → 动态生成的问题


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

主题:动态生成的问题

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


加好友 发短信
等级:狐精 帖子:3358 积分:24758 威望:0 精华:0 注册:2012/3/26 21:47:00
动态生成的问题  发帖心情 Post By:2017/7/17 9:22:00 [只看该作者]

dim s as string
s="1,2,3,4,5"
 If s<>"" Then
        Dim Multi As String = s
        Dim Values() As String
        Values = Multi.split(",")
        f.Controls("pan2").basecontrol.controls.clear
        Dim ay As Integer = 10
        Dim i As Integer = 0
        Dim x As Integer = 10
        Dim y As Integer = 20
        For Index As Integer = 0 To Values.Length - 1
        Dim btn = f.CreateControl("bt" & Values(Index), ControlTypeEnum.button)
        btn.Text =Index+1 & "." &  Values(Index)
        btn.Left = x + i*120
        btn.width=Values(Index).length*25
        btn.Top = y
        If Index>0 Then
        Dim btn1 = f.CreateControl("bt1" & Values(Index), ControlTypeEnum.button)
        btn1.Left = x + i*120+btn.width
        btn1.width=75
        btn1.Top = y
        f.Controls("pan2").AddControl(btn1)
        End If
        
        i = i+1
        If i Mod 7 = 0 Then
        i = 0
        x = 10
        y += 25
        End If
        f.Controls("pan2").AddControl(btn)
        
        Next
        Else
        f.Controls("pan2").basecontrol.controls.clear
        End If
上面这个代码是想根据S的内容生成一个动态的按钮组,当S内的顺序大于1时 在2个按钮之间插入一个链接按钮
写到这个地方卡住了

想实现如下图所示的效果

图片点击可在新窗口打开查看此主题相关图片如下:201771115575048166.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table





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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/17 9:34:00 [只看该作者]

Dim s As String
Dim f As WinForm.Form=e.Form
s="1,2,3,4,5,6,7,8,9"
If s<>"" Then
    Dim Multi As String = s
    Dim Values() As String
    Values = Multi.split(",")
    f.Controls("pan2").basecontrol.controls.clear
    Dim ay As Integer = 10
    Dim i As Integer = 0
    Dim x As Integer = 10
    Dim y As Integer = 20
    For Index As Integer = 0 To Values.Length - 1
        Dim btn = f.CreateControl("bt" & Values(Index), ControlTypeEnum.button)
        btn.Text =Index+1 & "." &  Values(Index)
        btn.Left = x
        btn.width=Values(Index).length*25
        btn.Top = y
        x += btn.width
        f.Controls("pan2").AddControl(btn)
        If Index<Values.Length - 1 Then
            Dim btn1 = f.CreateControl("bt1" & Values(Index), ControlTypeEnum.button)
            btn1.Left = x
            btn1.width=75
            btn1.Top = y
            f.Controls("pan2").AddControl(btn1)
            x += btn1.width
        End If
       
        i = i+1
        If i Mod 7 = 0 Then
            i = 0
            x = 10
            y += 25
        End If
    Next
Else
    f.Controls("pan2").basecontrol.controls.clear
End If

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


加好友 发短信
等级:狐精 帖子:3358 积分:24758 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2017/7/17 9:49:00 [只看该作者]

甜老师  大概是这个意思 但是细节有点不妥 比如s=1,2 应该显示12和12之间的按钮 12345时 显示12345和他们直接的按钮 只有1时 只显示1 最后一位数的后面那个按钮也不显示 需要改哪个?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/17 11:32:00 [只看该作者]

 代码没问题啊,就是你需要的啊。

 回到顶部