Foxtable(狐表)用户栏目专家坐堂 → 内部函数问题


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

主题:内部函数问题

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


加好友 发短信
等级:幼狐 帖子:166 积分:1613 威望:0 精华:0 注册:2018/3/12 9:22:00
内部函数问题  发帖心情 Post By:2019/4/24 11:08:00 [只看该作者]

借用的其他帖子里的源码:
Dim tbc As WinForm.TabControl = e.Form.Controls("TabControl1")

Select Case e.Sender.Name
    Case "报名管理"
        For Each tbp As WinForm.TabPage In tbc.TabPages
            If tbp.Name = e.Sender.Name Then
                tbc.SelectedPage = tbp
                Return
            End If
        Next
            tbc.TabPages.Add(e.Sender.Name,e.Sender.Name)
            Dim frm = Forms(e.Sender.Name)
            frm.OPEN(-1000,-1500)
            frm.BaseForm.TopLevel = False   '窗口降级
            frm.BaseForm.Dock = Windows.Forms.DockStyle.fill
            frm.BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None  
            tbc.TabPages(e.Sender.Name).Controls.add(frm.BaseForm)   
            tbc.SelectedIndex = tbc.TabPages.Count-1
           ' tbc.SelectedPage.Image = getimage("D:\delete_16x16.gif")   
    Case "在职管理"
        For Each tbp As WinForm.TabPage In tbc.TabPages
            If tbp.Name = e.Sender.Name Then
                tbc.SelectedPage = tbp
                Return
            End If
        Next
            tbc.TabPages.Add(e.Sender.Name,e.Sender.Name)

            Dim frm = Forms(e.Sender.Name)
            frm.OPEN(-1000,-1500)
            frm.BaseForm.TopLevel = False   '窗口降级
            frm.BaseForm.Dock = Windows.Forms.DockStyle.fill
            frm.BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None  
            tbc.TabPages(e.Sender.Name).Controls.add(frm.BaseForm) 
            tbc.SelectedIndex = tbc.TabPages.Count-1
           ' tbc.SelectedPage.Image = getimage("D:\delete_16x16.gif")   



Case "教育管理"
        For Each tbp As WinForm.TabPage In tbc.TabPages
            If tbp.Name = e.Sender.Name Then
                tbc.SelectedPage = tbp
                Return
            End If
        Next
            tbc.TabPages.Add(e.Sender.Name,e.Sender.Name)

            Dim frm = Forms(e.Sender.Name)
            frm.OPEN(-1000,-1500)
            frm.BaseForm.TopLevel = False   '窗口降级
            frm.BaseForm.Dock = Windows.Forms.DockStyle.fill
            frm.BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None  
            tbc.TabPages(e.Sender.Name).Controls.add(frm.BaseForm) 
            tbc.SelectedIndex = tbc.TabPages.Count-1
           ' tbc.SelectedPage.Image = getimage("D:\delete_16x16.gif")   

Case "事故管理"
        For Each tbp As WinForm.TabPage In tbc.TabPages
            If tbp.Name = e.Sender.Name Then
                tbc.SelectedPage = tbp
                Return
            End If
        Next
            tbc.TabPages.Add(e.Sender.Name,e.Sender.Name)

            Dim frm = Forms(e.Sender.Name)
            frm.OPEN(-1000,-1500)
            frm.BaseForm.TopLevel = False   '窗口降级
            frm.BaseForm.Dock = Windows.Forms.DockStyle.fill
            frm.BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None  
            tbc.TabPages(e.Sender.Name).Controls.add(frm.BaseForm) 
            tbc.SelectedIndex = tbc.TabPages.Count-1
           ' tbc.SelectedPage.Image = getimage("D:\delete_16x16.gif")   

End Select



Case 内容有30来个, 怎么修改成调用函数的方式去使用

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


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

函数改成

 

Dim e = args(0)
Dim tbc As WinForm.TabControl = e.Form.Controls("TabControl1")
For Each tbp As WinForm.TabPage In tbc.TabPages
    If tbp.Name = e.Sender.Name Then
        tbc.SelectedPage = tbp
        Return ""
    End If
Next
tbc.TabPages.Add(e.Sender.Name,e.Sender.Name)
Dim frm = Forms(e.Sender.Name)
frm.OPEN(-1000,-1500)
frm.BaseForm.TopLevel = False   '窗口降级
frm.BaseForm.Dock = Windows.Forms.DockStyle.fill
frm.BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
tbc.TabPages(e.Sender.Name).Controls.add(frm.BaseForm)
tbc.SelectedIndex = tbc.TabPages.Count-1
' tbc.SelectedPage.Image = getimage("D:\delete_16x16.gif")

 

然后直接调用即可,如

 

Functions.Execute("test", e)

[此贴子已经被作者于2019/4/24 11:50:23编辑过]

 回到顶部