16,554
社区成员
发帖
与我相关
我的任务
分享
Public Class Form1
Sub inittree()
Dim o As New Class1 //定义Class1实例
Dim dr As SqlDataReader //定义数据读取对象
dr = o.getalldata() //获取数据
While dr.Read //循环,知道数据读取完毕
Dim iItem As New System.Windows.Forms.TreeNode //定义TreeNode变量
iItem.Text = RTrim(dr!fullname.ToString)//去右空格
iItem.Name = RTrim(dr!typeid.ToString)//去右空格
Try
iItem.ImageIndex = 0//默认图标
iItem.SelectedImageIndex = 1//选中时的图标
Catch ex As Exception
MsgBox(ex.Message)
End Try
If Val(dr!isgroup) = 1 Then
iItem.Tag = ""
Else
iItem.Tag = dr!form.ToString
End If
If RTrim(dr!parid.ToString) = "0" Then//没有父节点
Me.TreeView1.Nodes.Add(iItem)
Else
If Me.TreeView1.Nodes.Find(RTrim(dr!parid.ToString), True).Length > 0 Then
Me.TreeView1.Nodes.Find(RTrim(dr!parid.ToString), True)(0).Nodes.Add(iItem)
End If
End If
End While
dr.Close()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
inittree()
'Me.TreeView1.ExpandAll()
End Sub
Private Sub TreeView1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.DoubleClick
If Not Me.TreeView1.SelectedNode Is Nothing And Me.TreeView1.SelectedNode.Tag <> "" Then
Dim frmname As String
frmname = Trim(Me.TreeView1.SelectedNode.Tag)//取出tag中保存的值
Dim f As New Form
'f = CType(Activator.CreateInstance(Type.GetType(frmname)), Form)//下面是动态根据名字创建窗体
f = Activator.CreateInstance(Type.GetType(frmname, True, True))
f.WindowState = FormWindowState.Maximized//最大化
f.MdiParent = Me//设置父窗体
f.Text = Me.TreeView1.SelectedNode.Text
f.Show()