以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求变通代码 将任务栏控件上的点任务名称打开任务名称对应的窗体 代码变通为双节目录树节点后打开和节点重名的窗体  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=60299)

--  作者:李孝春
--  发布时间:2014/11/21 23:44:00
--  求变通代码 将任务栏控件上的点任务名称打开任务名称对应的窗体 代码变通为双节目录树节点后打开和节点重名的窗体

求变通代码  将任务栏控件上的点任务名称打开任务名称对应的窗体 代码变通为双节目录树节点后打开和节点重名的窗体

 

 

下面的代码是在任务栏上启用的

如果目录树该怎么变换呢?也是对应的节点目录下 点击后打开对应的节点名字的窗体显示

Dim PB As WinForm.Panel = e.Form.Controls("Panel1")
Dim Name As String = e.Link.Name
Forms(Name).OPEN(-1000,-1500)
Forms(Name).BaseForm.TopLevel = False
Forms(Name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
Forms(Name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill

PB.BaseControl.Controls.Clear
PB.BaseControl.Controls.add(Forms(Name).BaseForm)

 

 

 

 

 

下面是我采用目录树对应节点打开对应名称页签的代码

Select Case e.Node.Level
    Case 2
        For i As Integer = 0 To e.Form.Controls("TabControl1").TabPages.Count -1
            If e.Form.Controls("TabControl1").TabPages(i).Text = e.Node.Name Then
                e.Form.Controls("TabControl1").SelectedIndex = i
            End If
        Next
    Case 3
        For i As Integer = 0 To e.Form.Controls("TabControl2").TabPages.Count -1
            If e.Form.Controls("TabControl2").TabPages(i).Text = e.Node.Name Then
                e.Form.Controls("TabControl2").SelectedIndex = i
            End If
        Next
End Select

 

求变通 谢谢!


--  作者:李孝春
--  发布时间:2014/11/21 23:58:00
--  回复:(李孝春)求变通代码 将任务栏控件上的点任务...

已用下列代码实现解决

求更好的解决代码

Select Case e.Node.Level
    Case 2
        Dim PB As WinForm.Panel = e.Form.Controls("Panel1")
        Dim Name As String = e.Node.Name
        Forms(Name).OPEN(-1000,-1500)
        Forms(Name).BaseForm.TopLevel = False
        Forms(Name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
        Forms(Name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
       
        PB.BaseControl.Controls.Clear
        PB.BaseControl.Controls.add(Forms(Name).BaseForm)
       
    Case 3
        Dim PB As WinForm.Panel = e.Form.Controls("Panel1")
        Dim Name As String = e.Node.Name
        Forms(Name).OPEN(-1000,-1500)
        Forms(Name).BaseForm.TopLevel = False
        Forms(Name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
        Forms(Name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
       
        PB.BaseControl.Controls.Clear
        PB.BaseControl.Controls.add(Forms(Name).BaseForm)
       
End Select