求各位大神帮忙,解释一下这段代码??

赤那巴特 2013-12-07 09:29:05
这是我们老师上课讲的一段代码,没听懂,想请问给位前辈来给我说明一下这段代码的具体各行有什么具体的意思??给我做一下注释呗??谢谢啦!




Public Class Form1
Sub inittree()

Dim o As New Class1
Dim dr As SqlDataReader
dr = o.getalldata()
While dr.Read
Dim iItem As New System.Windows.Forms.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)
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()


...全文
187 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2013-12-08
  • 打赏
  • 举报
回复
上面都是一些读取数据库和加载TreeView的代码 f = Activator.CreateInstance(Type.GetType(frmname, True, True)) 反射,根据form名字创建窗体。
bdmh 2013-12-08
  • 打赏
  • 举报
回复

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()
兔子-顾问 2013-12-08
  • 打赏
  • 举报
回复
我怎么觉得这是个和心仪对象套近乎的好机会?小子(妹子)你到这里问,谁也没耐心一行行的讲,不如借此机会去泡帅哥(妹子)更好哇,一行,一行,说不定还能擦出火花。
wind_cloud2011 2013-12-07
  • 打赏
  • 举报
回复
就是TreeView控件的应用, http://hi.baidu.com/sxwyp/item/d5180a0ef1198116addc70d2 inittree(),是对TreeView进行初始化,就是窗体载入时 TreeView节点的值是从数据库取的

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧