You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何自定义TreeView节点信息?附TreeViewItem类实现代码

自定义TreeView节点实现(VB.NET)

我帮你把这段自定义TreeView节点的代码整理好,顺便提几个容易踩坑的小细节:

Public Class TreeViewItem Inherits TreeNode
    Private _text As String
    Private _id As String
    Private _Data As String

    Sub New(id As String, name As String, data As String)
        MyBase.New()
        _text = name ' 注意:参数是小写name,VB.NET区分大小写,原代码写Name会报错
        _id = id
        _Data = data
    End Sub

    Public Shadows Property Text As String
        Get
            If Not String.IsNullOrEmpty(_Data) Then
                Return String.Format("{0} -> {1}", _text, _Data)
            Else
                Return _text
            End If
        End Get
        Set(value As String)
            _text = value ' 原代码写的Name是错误的,应该赋值为传入的value参数
        End Set
    End Property
    ' 你省略的后续代码可以在这里补充
End Class

关键细节提醒:

  • 构造函数里的_text = Name要改成_text = name,VB.NET对大小写敏感,原写法会找不到对应的参数
  • Text属性的Set方法里,必须把传入的value赋值给_text,不然外部设置节点Text时不会生效
  • 如果需要外部访问_id和_Data,可以给这两个私有字段添加对应的Public属性,比如:
    Public ReadOnly Property Id As String
        Get
            Return _id
        End Get
    End Property
    
    Public Property Data As String
        Get
            Return _Data
        End Get
        Set(value As String)
            _Data = value
            ' 可以在这里触发Text属性更新,让节点显示同步变化
            Me.Text = Me.Text
        End Set
    End Property
    

内容的提问来源于stack exchange,提问作者Oghenero E.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:27:23