C#winform treeview的子节点中可以添加控件么

C#winform treeview的子节点中可以添加控件么,第1张

TreeNode RootNode=new TreeNode()

this.treeView1.Nodes.Add(RootNode)

就这样加根节点,子节点也是同样方法。

语句: ParentNode.ChildNodes.Add(ChildNode)

其中:

ParentNode:父结点

ChildNodes:VS默认的父节点属性,用于获取父结点的第一级子节点

Add: VS默认的结点添加方法

ChildNode: 所要插入的子节点

很简单,你的问题已经隐藏在你的疑惑的地方了

treeview 鼠标点击一个节点,那么这个节点是处于选中状态的,它会有明显的蓝色背景,而且只有一个处于选中状态

treeview.SelectNode 就是选中的节点

此为方法一

方法二:设置treeview 有一个属性,是否显示复选框,好像叫做ShowCheckBox 设置为true,你每次勾选节点前面的复选框,然后怎么判断是否选中呢?

循环所有根节点 foreach node in root.childnode

if(node.Checked)

//这个node就是你需要在下面添加子节点的节点

分清楚selected 和checked 就可以帮你解决你疑惑的地方

在进行VFP程序开发时,为了让我们的应用程序看起来更加专业化,我们不可避免地要在设计过程中为程序添加一些专业的控件。工欲善其事必先利其器,在进行程序设计时对所用的控件必须有一个清晰的了解。本文要向大家介绍的就是TreeView控件。TreeView控件能够以一种树形目录的方式来显示各种资料,常见的TreeView控件使用的例子就是注册表编辑器和Windows的资源管理器,单击节点的+号,你可以展开该节点,同样你也可以关闭所展开的节点。如何在你的程序中加入TreeView控件?接下来以VFP为例,向大家介绍TreeView控件的使用方法。一、在表单中添加TreeView控件TreeView控件属于OLE控件。所以,在VFP中添加TreeView控件的方法是在表单中加入OLE容器控件,在出现了InsertObject标题之后,选择InsertControl,在ObjectType栏内选择MicrosoftTreeViewControl。之后,在表单上你就能看到TreeView控件了。二、在TreeView控件中加入节点往TreeView控件中加入节点是一项很关键的工作。使用TreeView控件中Node(节点)对象的Add方法,你便能够定制由TreeView控件显示的内容(节点内容)。Add的用法如下:Add(relative,relationship,key,text,image,selectedimage)各个参数的含义如下:Relative:参照节点的键值。往TreeView控件加入节点时,你能够决定所添加的节点与业已存在的节点之间的关系。relative参数的作用就是指明已存在的节点的名称(键值)。Relationship:指明欲加入的节点与业已存在的节点之间的关系。其可选值及具体含义如下:0:顶级节点,新添的节点放置在参照节点的最上面。1:末级节点,新添的节点放置在参照节点的最下面。2:次级节点,新添的节点紧跟参照节点。3:上级节点,新添的节点放在参照节点的上面。4:子节点,新添的节点为参照节点的子节点。需要说明的是,描述上述参数使用到的顶、末、次、上具体是指物理位置上的关系。并且,新添加的节点的存放位置与申明语句的先后位置无关。Key:新添加节点的键值(字符串类型),该键值必须是唯一的。Text:所添加节点的标题。Image和selectedimage:图像索引值。可选参数(N型),指明新添加的节点在选中与没选中时所显示的不同图像。通常,这些图像是存放在ImageList(用来存放图片的)控件中的。在TreeView控件中你可以设置该控件的ImageList值。三、对TreeView控件的常用 *** 作1.添加节点:添加节点的 *** 作主要是由上面提到的Add函数完成的。由TreeView控件中每个被显示的目录项被称之为节点(Node),应该注意的是:在添加过程中,你 *** 作的对象是节点,而非TreeView控件本身。所以你不能直接使用TreeView.add命令。2.删除节点:删除节点主要是使用Remove函数,该函数的用法如下:Nodes.Remove(Key),Key指明欲删除节点的键值。3.指明对TreeView控件事件响应程序:在设计好TreeView之后,指明对事件如何响应是必不可少的。通常,最常用的是针对Click、DblClick和NodeClick事件,在设计此类事件的响应程序时,很自然地要涉及到确认用户所选择的节点。上面提到了,在对TreeView进行 *** 作时,实际上是在对Node对象进行 *** 作。Node对象中实际上是与之有关的各种数据(如:节点的Key值、Text值、Image值等等)和函数的结合体。通过对Node对象进行存取 *** 作,一切都变得那么容易了。四、实战演习上面说了那么多,还是亲自动动手吧。下面的例子可以让你对TreeView控件有更加清晰地认识。这些程序并不复杂,但却演示了TreeView控件的基本原理及常用的 *** 作。1.在TreeView控件的Init事件中添加如下代码,这些语句能够让你了解TreeView控件中节点与节点之间的关系:this.nodes.add(,,TOP,参照目录项)this.nodes.add(TOP,0,TopOnTop,参数0:放在参照目录项的最上面)this.nodes.add(TOP,1,TOP1,参数1:放在参照目录项的最下面)this.nodes.add(TOP,2,TOP2,参数2:紧靠参照目录)this.nodes.add(TOP,3,TOP3,参数3:放在参照目录的上面)this.nodes.add(TOP,4,Child?of?TOP,参数4:参照目录的子目录)this.nodes.add(Child?of?TOP,4,GrandSon?of?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11595911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存