treenode(Tree的遍历与node定义学习)
一、delphi 怎么设置TreeNode节点内容不可编辑
具体的节点不能通过属性窗口设置为只读
只能设置树控件的Readonly属性,设置为Ture,则树控件的所有节点都为不可编辑
如果只是想让某些节点不可编辑,其他则可以编辑,那么需要处理OnEditing事件
对于允许编辑的节点将参数AllowEdit设置为True即可,将不允许编辑的节点设置为False
二、interface+TreeNode和struct+Treenode的区别
interface和 struct是 Go语言中的两种不同的类型定义方式。interface是一种抽象的类型,定义了一组方法,而 struct是一种具体的类型,用于组织数据。
在 Go中,TreeNode是一个类型名,可以使用 interface或 struct来定义 TreeNode类型的变量。
如果使用 interface定义 TreeNode,那么 TreeNode就是一个包含方法声明的接口类型,该接口类型可以被其他类型实现,从而实现对 TreeNode类型的扩展和定制。通常情况下,interface TreeNode用于定义一组操作二叉树节点的方法。
如果使用 struct定义 TreeNode,那么 TreeNode就是一个包含数据和方法的结构体类型。struct TreeNode通常用于表示一个二叉树节点的实例,它包含了节点的数据和对节点的操作方法。
三、C# TreeNode的使用
首先更正:TreeNode他不是控件,他是一个对象名(节点对象),treeView1才是控件。
TreeNode newNode1= treeView1.Nodes.Add("电话簿");
这句话的意思是,定义一个TreeNode节点类型对象,名称为newNode1,并为他赋值,赋值的内容是:treeView1控件的根节点Nodes,因为本来treeView1控件没有根节点,所以应该先添加根节点Nodes.Add("电话簿")根节点显示的内容就是电话簿。
newNode1.Nodes.Add(sdr[1].ToString());
这个意思是,在根节点newNode1处添加子节点,显示内容是sdr[1].ToString()。
Nodes不是根的意思,是“儿子”的意思。treeView1的Nodes,“儿子”可不就是根节点呗!newNode1.Nodes,这个是儿子的儿子,那就是二级节点了。