Foxtable(狐表)用户栏目专家坐堂 → [求助]代码错误


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

主题:[求助]代码错误

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]代码错误  发帖心情 Post By:2017/8/18 13:46:00 [显示全部帖子]

 老师,
   下面标颜色的代码有误,劳烦您给看下


Dim tbl As WinForm.TabControl = e.Form.CreateControl("tbl_01", ControlTypeEnum.TabControl)
e.Form.AddControl(tbl)
Dim panl As  WinForm.Panel=e.Form.CreateControl("pl_01", ControlTypeEnum.Panel)
Dim spl As WinForm.SplitContainer=e.Form.CreateControl("spl_01", ControlTypeEnum.SplitContainer)
spl.Dock=5
panl.AddControl(spl)
MessageBox.Show(5)
tbl.TabPages(0).AddControl(panl)
MessageBox.Show(6)

Dim w As Integer=tbl.TabPages("1").Width
Dim h As Integer=tbl.TabPages("1").Height
If w-350<=0 Then
    spl.SplitterDistance =w*0.2'必须是添加控件后添加的属性
Else
      spl.SplitterDistance =350'必须是添加控件后添加的属性
End If

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/18 15:54:00 [显示全部帖子]

 老师,

Dim tab As WinForm.TabControl = args(0)
Dim dr As DataRow = args(1)
Dim e As object=args(2)


Dim dt As DataTable = dr.DataTable
Dim drs As List(of DataRow) = dt.Select("编码规则 like '" & dr("编码规则") & "%' and 编码级次 = '" & dr("编码级次")+1 & "'")
If drs.count > 0 Then
    Dim ctab As WinForm.TabControl
    ctab = tab.Form.CreateControl("tab_" & dr("编码规则"), ControlTypeEnum.tabcontrol)
    ctab.Dock = 5
    Dim panel As WinForm.panel
    panel = tab.Form.CreateControl("pal_" & dr("编码规则"), ControlTypeEnum.panel)
    panel.Dock = 5
    panel.AddControl(ctab)
    For Each cdr As DataRow In drs
        ctab.TabPages.Add(cdr("编码规则"), cdr("编码名称")).Dock = 5
        Functions.Execute("loop2", ctab, cdr,e)
        ctab.TabPages(cdr("编码规则")).Dock = 5
    Next

    tab.TabPages(dr("编码规则")).AddControl(panel)
    'tab.TabPages(dr("编码规则")).Visible=False
    MessageBox.Show(tab.TabPages(dr("编码规则")).name & "," &tab.TabPages(dr("编码规则")).Width)‘这块长度还是有问题,不知道为什么第一页的页面大小不正确,导致后面出错。
[此贴子已经被作者于2017/8/21 9:21:47编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/18 15:55:00 [显示全部帖子]

 Dim pg As WinForm.TabPage=tab.TabPages(dr("编码规则"))
    'e.Form.StopRedraw
    Dim s1 As WinForm.SplitContainer=e.ForM.CreateControl("SPL_" & dr("编码规则") & "_01",ControlTypeEnum.SplitContainer)
    S1.Dock=5
    Dim s2 As WinForm.SplitContainer=e.ForM.CreateControl("SPL_" & dr("编码规则") & "_02",ControlTypeEnum.SplitContainer)
    S2.Dock=5
    Dim s3 As WinForm.SplitContainer=e.ForM.CreateControl("SPL_" & dr("编码规则") & "_03",ControlTypeEnum.SplitContainer)
    S3.Dock=5
    S3.Orientation=0
    Dim s4 As WinForm.SplitContainer=e.ForM.CreateControl("SPL_" & dr("编码规则") & "_04",ControlTypeEnum.SplitContainer)
    S4.Dock=5
    S4.Orientation=0
    S1.Panel2.AddControl(S2)
    S1.Panel1.Collapsed=True
    S2.Panel1.AddControl(S3)
    S2.Panel2.Collapsed=True
    S3.Panel2.AddControl(S4)
    S3.Panel1.Collapsed=True
    S1.FixedPanel=1
    S2.FixedPanel=2
    S3.FixedPanel=1
    S4.FixedPanel=2
    pg.AddControl(S1)
    s1.Dock=5'这块是页面添加
    Dim zd As New Dictionary(Of String, object)
    zd.Add("01",S1.Panel1)
    zd.Add("02",S2.Panel2)
    zd.Add("03",S3.Panel1)
    zd.Add("04",S4.Panel2)
    zd.Add("05",S4.Panel1)
    
    For Each k As String In zd.Keys '显示所有键及其对应的值
        Dim dr2 As DataRow=DataTables("AS002控件").find("编码规则='"& K &"' And 权限编码='"& dr("编码规则") &"'")
        If dr2 IsNot Nothing Then
            Functions.Execute("addc",e,zd(k), dr2)
            zd(k).Collapsed=False
        Else
            zd(k).Collapsed=True
        End If
    Next
    
   
    
    Dim w As Integer=e.Form.Width
    Dim h As Integer=e.Form.Height
    ‘以上代码没有问题,现在就卡在首页的高度不正确?
    S1.SplitterDistance =200'必须是添加控件后添加的属性
    S2.SplitterDistance =w-200-80'必须是添加控件后添加的属性
    S3.SplitterDistance =50'必须是添加控件后添加的属性
    S4.SplitterDistance = h-300-50-50'必须是添加控件后添加的属

    S1.IsSplitterFixed=True
    S2.IsSplitterFixed=True
    S3.IsSplitterFixed=True
    S4.IsSplitterFixed=True
    e.Form.ResumeRedraw

[此贴子已经被作者于2017/8/18 16:04:05编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/18 15:56:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.3053
Foxtable 版本:2017.8.11.1
错误所在事件:自定义函数loop2
详细错误信息:
调用的目标发生了异常。
SplitterDistance 必须在 Panel1MinSize 和 Width - Panel2MinSize 之间。


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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/18 16:00:00 [显示全部帖子]

3楼的提示,为啥首页的宽度是198与其他的页宽不一致,批量添加的,为啥不一样?神奇

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170818155813.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/8/18 16:06:22编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/18 16:01:00 [显示全部帖子]

4楼的窗口的高和宽没有调整正确。应该怎么调整呢?

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/21 8:43:00 [显示全部帖子]

老师,
    用上例子吗?

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


加好友 发短信
等级:九尾狐 帖子:2928 积分:20184 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2017/8/21 9:22:00 [显示全部帖子]

 老师,
  问题依旧,问题是6楼的问题,添加的页面的宽度问题,3楼标注黄色的代码是,一并添加的页面,没有进行特殊设置宽高,为何出现6楼第一个页面的宽度是198 ,而其他页面的宽度878,怎么写代码能让添加上去的Page 宽高等于TabControl的宽高,或者保持一致也可以?
[此贴子已经被作者于2017/8/21 9:29:14编辑过]

 回到顶部