vb.net 教程 3-4 窗体编程 公共控件10 TreeView 4

上一节讲了如何用代码增加删除根节点、子节点,本节谈谈TreeView中的事件:

AfterSelect事件:在选定树节点后发生
NodeMouseClick事件:当用户使用鼠标单击 TreeNode 时发生

这两个事件都提供了一个参数 e
但是所对应的类型不一样。
AfterSelect事件参数e是TreeViewEventArgs类,
NodeMouseClick事件参数e是TreeNodeMouseClickEventArgs类。
但是两个e都提供了Node属性,都是当前被选中/单击的节点。

在上一节设计器的基础上添加Label5:
代码中加入:
    Private Sub TreeView1_AfterSelect(sender As Object,e As TreeViewEventArgs) Handles TreeView1.AfterSelect
        Dim tnNode As New TreeNode
        tnNode = e.Node
        Label5.Text = tnNode.FullPath
    End Sub

    Private Sub TreeView1_NodeMouseClick(sender As Object,e As TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
        Dim tnNode As New TreeNode
        tnNode = e.Node
        Label5.Text = tnNode.Text
    End Sub

运行时效果如图:
可以看到Label5显示了选中节点的全路径,而不是显示的节点的名称
可见NodeMouseClick在AfterSelect之前发生。

另外值得一提的是,由于设置了TreeView的PathSeparator属性为:\,所以在全路径中会显示为“\”来分隔,当然可以设置为别的字符串:


学习更多vb.net知识,请参看 vb.net 教程 目录

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强制返回为文本 --------------------------...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办法, Format 或者FormatDateTime 竟然结果和...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace My ‘全局错误处理,新的解决方案直接...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选中的单元格进行处理 Dim m As Range, t...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integ...