如何自定义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.
相关产品推荐
相关产品推荐

