VB.NET中treeview使用方法一

最近发现一控件特有意思,结合网上的教程,研究(难道只有科学家才能用这一词,我等小辈不可以吗?)了一番,这就是treeview控件,我准备从以下几个方面学习它

一、treeview的基本用法及真容(没见过面,就谈不了解,不了解就谈不交朋友,扯远了)

二、treeview的应用实例(网上很少,自已动手,丰衣足食)

三、treeview 与数据库的给合(有点难,我下决心克服它)

环境VS2005 VB.NET

第一步,与treeview见见面


找到了吗?在众多的控件,很不起眼,不过功能强大,如果你把他拖曳到设计区,他只是一个空白框,没有特殊的,这需要另一个控件Imgelist的配合它在工具箱——组件下如下图


与VB6.0不同,ImageList控件不出现设计区而出在设计区的下面,如上图(上面的空白框就是Treeview控件)

这里需要说明一下imagelist控件只是图标装载具,没有另的用处 下面说一下如何向imagelist添加位图

1、选择Imagelist,在它属性页选择imgae如下图:


注意ImageSize尺寸 16*16 32*32 自定义,可以设置


点击“添加”添加一些位图文件,点击确定

2、将TreeView属性页中的“ImageList”选项设置为“ImageList1”


3、点击TreeView属性页中的“Nodes”选项,则会弹出树结点编辑对话框



4、点击"添加根"及点击"添加子级"如下图


5、修改一下


从这个简单的例子可以看出这个treeview控件(树形控件)反应一定的等级关系,非常的实用

附:在TreeNode编辑器中编辑结点
(1)点击“Add Root(添加根)”按钮,则在结点编辑框中出现了一个结点(默认名为NodeN),可根据树型的需要,将其他结点添加到这棵树上。
(2)选择需要添加子结点的结点,单击“Add Child(添加子级)”按钮,则在当前选中的结点中的结点上添加了一个子结点。
(3)选择需要添加位图的结点,然后在“Image”(图标)、“Selected Image“(选择图标)中,在ImageList1中选择需要的位图即可。
(4)点击“OK(确定)”按钮,在TreeView1中就会显示编辑的树了

第二步,如何在程序运行中添加“根”“子级”

用的方法是 1、找到“根”结点用的方法

TreeViewName.Nodes.Item(Index1).Nodes.Item(Index2)...

2、添加“根”用到方法为

TreeViewName.Nodes.Item(Index1).Nodes.Item(Index2)….Add("NodeText")

TreeViewName.Nodes.Item(Index1).Nodes.Item(Index2)….Add("objNode")

下面借助button(按钮)举个例子八年级结点下,添加三班,四班

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim nodx As New TreeNode()
        Dim nodx01 As New TreeNode()

        nodx.Text = "三班"
        nodx.ImageIndex = 2
        nodx01.Text = "四班"
        nodx01.ImageIndex = 2
        TreeView1.Nodes.Item(1).Nodes.Add(nodx)
        TreeView1.Nodes.Item(1).Nodes.Add(nodx01)

        End Sub

问题得到了解决,思考一下问题又来了

1、如何添加“九年级”呢?

添加代码:TreeView1.Nodes.Add("九年级" & (TreeView1.GetNodeCount(False) + 1))

运行一下九年后面多了一个3,如何去掉,很简单 代码如下

TreeView1.Nodes.Add("九年级" )

2、如何添加“九年级一班”、“九年级二班”、“九年级三班”、

添加一个按钮并改标题为添加九年级一班二班如下图


并添加代码:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TreeView1.Nodes.Add("九年级")
        Dim nodx02 As New TreeNode()
        Dim nodx03 As New TreeNode()

        nodx02.Text = "一班"
        nodx02.ImageIndex = 2
        nodx03.Text = "二班"
        nodx03.ImageIndex = 2
        TreeView1.Nodes.Item(2).Nodes.Add(nodx02)
        TreeView1.Nodes.Item(2).Nodes.Add(nodx03)
    End Sub

点击第二个按钮出现下图:


咋样不错,但这只是初级,还中级呢?

3、如何删除结合

理论知识:使用Nodes属性的Remove 方法删除单个结点,也可以使用Clear 方法清除所有的结点,如下代码所示:

'删除选定的结点

TreeView1.Nodes.Remove(TreeView1.SelectedNode)

'清除TreeView 控件的所有节点(最厉害,最极端的)

TreeView1.Nodes.Clear()

实例:

删除选定的结点代码如下

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If TreeView1.SelectedImageIndex <> 1 Then
            TreeView1.Nodes.Remove(TreeView1.SelectedNode) '删除选定的节点
        End If
    End Sub

如下图:

点击“删除选定的节点”后如下图 根结点下有无子结点,均可删除!



结合这个例子说明一下如何

3、如何进行动态改名?(程序运行下)

4、如何进行右键动态改名

你可能感兴趣的:(VB.net)