Foxtable(狐表)用户栏目专家坐堂 → 动态控件位置问题


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

主题:动态控件位置问题

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
动态控件位置问题  发帖心情 Post By:2015/12/9 18:22:00 [只看该作者]

红袍 帮我看看这个代码,我想在标签下面加入两个其他控件,位置算的不对!

Dim dr As DataRow
Select Case e.Node.Level
    Case 1
        Dim i1 As Integer
        Dim n As Integer
        Dim index  As  Integer
        e.Form.Controls("Panel1").ClearControl
        For Each cl As DataCol In DataTables("用标签做数据浏览").DataCols
            dr = DataTables("用标签做数据浏览").Find("第一列='" & e.Node.DataRow("第一列") & "' And 第二列 ='" & e.node.DataRow("第二列") & "' And " & cl.Name & " Is Not Null")
            If dr IsNot Nothing Then
                Dim rad As WinForm.Label
                rad = e.Form.CreateControl(cl.Name,ControlTypeEnum.label)
                rad.Font = New Font("微软雅黑",9)
                rad.Text = dr(cl.Name)
                rad.Left = 10
                rad.Top = 20 * i1
                rad.AutoSize = True
                i1 += 1
                e.Form.Controls("Panel1").AddControl(rad)
                n = rad.Top
                If cl.ExtendType = ExtendTypeEnum.Images Then
                    Dim lst As New List(of String)
                    lst = dr.Lines(cl.Name)
                    For Each ls As String In lst
                        Dim px As WinForm.PictureBox
                        px = e.Form.CreateControl(index ,ControlTypeEnum.PictureBox)
                        px.Width = 100
                        px.Height = 100
                        px.Left = 10
                        px.Top = n+(120 * index)
                        px.AutoScroll = False
                        px.Image = GetImage(ProjectPath  & "Attachments\" & ls)
                        px.SizeMode = ImageSizeMode.Zoom
                        Index += 1
                        e.Form.Controls("Panel1").AddControl(px)
                    Next
                End If
            End If
        Next
End Select

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/12/9 19:25:00 [只看该作者]

大红袍帮我看看,我要新添加的图片控件在动态标签的下面

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/9 19:35:00 [只看该作者]

上传例子,代码无法直接测试。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/12/9 19:39:00 [只看该作者]

等等

 


[此贴子已经被作者于2015/12/9 19:39:48编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/12/9 19:47:00 [只看该作者]

窗口2

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模块功能代码.rar


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/12/9 19:51:00 [只看该作者]

上传了

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/9 19:52:00 [只看该作者]

Dim dr As DataRow
Select Case e.Node.Level
    Case 1
        Dim index  As  Integer
        e.Form.Controls("Panel1").ClearControl
        Dim Top As Integer = 0
        For Each cl As DataCol In DataTables("用标签做数据浏览").DataCols
            dr = DataTables("用标签做数据浏览").Find("第一列='" & e.Node.DataRow("第一列") & "' And 第二列 ='" & e.node.DataRow("第二列") & "' And " & cl.Name & " Is Not Null")
            If dr IsNot Nothing Then
                Dim rad As WinForm.Label
                rad = e.Form.CreateControl(cl.Name,ControlTypeEnum.label)
                rad.Font = New Font("微软雅黑",9)
                rad.Text = dr(cl.Name)
                rad.Left = 10
                rad.Top = top
                rad.AutoSize = True
                e.Form.Controls("Panel1").AddControl(rad)
                top += rad.height + 10
                If cl.ExtendType = ExtendTypeEnum.Images Then
                    Dim lst As New List(of String)
                    lst = dr.Lines(cl.Name)
                    For Each ls As String In lst
                        Dim px As WinForm.PictureBox
                        px = e.Form.CreateControl(index ,ControlTypeEnum.PictureBox)
                        px.Width = 100
                        px.Height = 100
                        px.Left = 10
                        px.Top = top
                        px.AutoScroll = False
                        px.Image = GetImage(ProjectPath  & "Attachments\" & ls)
                        px.SizeMode = ImageSizeMode.Zoom
                        Index += 1
                        e.Form.Controls("Panel1").AddControl(px)
                        top += px.height + 10
                    Next
                End If
            End If
        Next
End Select


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/12/9 19:57:00 [只看该作者]

红袍 那个图片控件在标签中间去了

 

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq拼音截图未命名.png
图片点击可在新窗口打开查看

 

 

 

我需要在所有的标签下面

[此贴子已经被作者于2015/12/9 20:00:04编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/9 20:07:00 [只看该作者]

Tables("用标签做数据浏览").Position = Tables("用标签做数据浏览").FindRow(e.Node.DataRow)

Dim dr As DataRow
Select Case e.Node.Level
    Case 1
        Dim index  As  Integer
        Dim ls_img As new List(Of object)
        e.Form.Controls("Panel1").ClearControl
        Dim Top As Integer = 0
        For Each cl As DataCol In DataTables("用标签做数据浏览").DataCols
            dr = DataTables("用标签做数据浏览").Find("第一列='" & e.Node.DataRow("第一列") & "' And 第二列 ='" & e.node.DataRow("第二列") & "' And " & cl.Name & " Is Not Null")
            If dr IsNot Nothing Then
                Dim rad As WinForm.Label
                rad = e.Form.CreateControl(cl.Name,ControlTypeEnum.label)
                rad.Font = New Font("微软雅黑",9)
                rad.Text = dr(cl.Name)
                rad.Left = 10
                rad.Top = top
                rad.AutoSize = True
                e.Form.Controls("Panel1").AddControl(rad)
                top += rad.height + 10
                If cl.ExtendType = ExtendTypeEnum.Images Then
                    Dim lst As New List(of String)
                    lst = dr.Lines(cl.Name)
                    For Each ls As String In lst
                        Dim px As WinForm.PictureBox
                        px = e.Form.CreateControl(index ,ControlTypeEnum.PictureBox)
                        px.Width = 100
                        px.Height = 100
                        px.Left = 10
                        px.Top = top
                        px.AutoScroll = False
                        px.Image = GetImage(ProjectPath  & "Attachments\" & ls)
                        px.SizeMode = ImageSizeMode.Zoom
                        Index += 1
                        ls_img.add(px)
                    Next
                End If
            End If
        Next
        For Each img As object In ls_img
            img.Top = Top
            e.Form.Controls("Panel1").AddControl(img)
            top += img.height + 10
        Next
End Select


 回到顶部