问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

关于VB中TreeView控件展开节点的问题

发布网友 发布时间:2022-05-14 02:50

我来回答

2个回答

热心网友 时间:2023-11-26 10:51

由于每个 TreeNode 都可以包含其他 TreeNode 对象的集合,您可能会在循环访问集合时觉得很难确定自己在树结构中的位置。您可以使用 PathSeparator 字符串值来分析 TreeNode.FullPath 字符串,以确定 TreeNode 标签的起始和终止位置。

可以在树节点旁显示图像,方法是将一个 ImageList 分配给 ImageList 属性,然后通过引用 Image 在 ImageList 中的索引值来分配该 Image。使用下面的属性分配图像:

将 ImageIndex 属性设置为当树节点未选定时所显示的 Image 的索引值。

将 SelectedImageIndex 属性设置为当树节点被选定时要显示的 Image 的索引值。

ImageIndex 和 SelectedImageIndex 属性值所引用的图像是所有分配给 Nodes 集合的树节点显示的默认图像。每个树节点都可以通过设置 TreeNode.ImageIndex 和 TreeNode.SelectedImageIndex 属性来取代默认的图像。

树节点可以展开,以显示下一级子树节点。用户可以在 TreeNode 旁显示加号 (+) 按钮时通过单击加号 (+) 按钮来展开 TreeNode,或者可以通过调用 TreeNode.Expand 方法来展开 TreeNode。若要展开 Nodes 集合中的所有子树节点级别,请调用 ExpandAll 方法。若要折叠子 TreeNode 级别,可以调用 TreeNode.Collapse 方法,也可以在 TreeNode 旁显示减号 (-) 按钮时按减号 (-) 按钮。还可以通过调用 TreeNode.Toggle 方法在展开和折叠状态之间切换。

树节点可以选择性地显示复选框。若要显示复选框,请将 TreeView 的 CheckBoxes 属性设置为 true。对于处于选中状态的树节点,Checked 属性设置为 true。

注意
从 BeforeCheck 或 AfterCheck 事件内设置 TreeNode.Checked 属性将导致该事件被多次引发并可能产生意外行为。例如,您可以在递归更新子节点时在事件处理程序中设置 Checked 属性,以便用户不必逐个展开并选中每个节点。如果未将 TreeViewEventArgs 的 Action 属性设置为 TreeViewAction.Unknown,则若要防止该事件被多次引发,需为仅执行递归代码的事件处理程序添加逻辑。有关如何进行此操作的示例,请参见 AfterCheck 或 BeforeCheck 事件的示例部分。

通过设置 TreeView 控件的一些显示和样式属性,可以更改此控件的外观。如果将 ShowPlusMinus 设置为 true,则会分别在每个可展开或折叠的 TreeNode 旁显示加号或减号按钮。如果将 ShowRootLines 属性设置为 true,TreeView 则会显示联接所有根树节点之间的连线。通过将 ShowLines 属性设置为 true,可以显示子树节点与其根节点之间的连线。如果将 HotTracking 属性设置为 true,那么当鼠标指针移过树节点标签时,树节点标签的外观将发生变化。如果启用热跟踪,树节点标签将具有超链接的外观。也可以完全自定义 TreeView 控件的外观。若要执行此操作,请将 DrawMode 属性设置为 TreeViewDrawMode.Normal 以外的值并处理 DrawNode 事件。

注意
在运行时设置 CheckBoxes、Scrollable、ImageIndex 和 SelectedImageIndex 属性时,将重新创建 TreeView 句柄(请参见 Control.RecreateHandle)以更新控件的外观。这将折叠除选定的 TreeNode 之外的所有树节点。

下面的代码示例阐释了如何使用 TreeView 控件。

Private Sub InitializeTreeView()
treeView1.BeginUpdate()
treeView1.Nodes.Add("Parent")
treeView1.Nodes(0).Nodes.Add("Child 1")
treeView1.Nodes(0).Nodes.Add("Child 2")
treeView1.Nodes(0).Nodes(1).Nodes.Add("Grandchild")
treeView1.Nodes(0).Nodes(1).Nodes(0).Nodes.Add("Great Grandchild")
treeView1.EndUpdate()
End Sub

From MSDN

热心网友 时间:2023-11-26 10:51

VC 中,TreeView 有个 TVN_ITEMEXPANDING 通知,当一个树节点即将展开时发出,你可以处理这个通知消息。在 VB 中可能要子类化控件才能实现,具体的方法你可以搜索。
http://www.vb-helper.com/howto_treeview_expanding_collapsing.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宜宾陪产假有多少天 ...19宽屏显示器。调色彩时有个选项magicColor是什么意思? eternuer是什么意思 《法语助手》法汉 癌症老人能吃山竹吗 癌症病人能吃抗氧化剂吗 乳腺癌骨转移病人吃什么水果好 肝癌老人吃山竹有害处吗 癌症病人能不能吃山竹 如何在excel中批量加入数据 在Excel中怎样批量加上一? 野菊花和桔子皮泡脚的好处? C# 的treeview控件如何让节点不可用,也就是像按钮之类的灰色,并且不响应任何点击事件 winform的treeview的tag属性有什么作用 菊花的品质与作用 C++Builder6.0中treeview控件 何首乌跟菊花泡脚有好处吗 河池碧桂园物业电话是多少河池碧桂园物管电话是多少 菊花可以泡脚吗? 菊花泡脚有什么功效?可以除臭吗? TreeView控件的属性 野菊花泡脚有啥好处 用菊花泡脚有什么好处 大朵的菊花对泡脚有好处吗 魑魅魍魉一句是什么 请问苹果6P前、后摄像头像素是多少?为什么我的手机拍照效果很不好 菊花泡脚有什么好处 菊花泡脚得好处和坏处 魑魅魍魉、这句是什么意思? 用魑魅魍魉造句 英文a,four,leaf,clover!连起来的意思 可以用菊花和醋一起泡脚吗?有什么好处与不好之处,或是这样的方式根本就不可取?? winform 程序中我用代码生成了一个treeview控件,如何在treeview的每个节点前加上复选框。并能够选中或取 vb.net的treeview使用 湘潭大学印象碧桂园的电话 学商业分析专业以后能做什么? 近几年商业分析很火,这个专业具体学什么? 软件更新处理失败 兰州马拉松海拔 甘肃白银山地马拉松事故原因是什么? dreamweaver中的CSS有什么用,怎么用CSS布局 佳能pixma ip2780的墨盒的内部结构 我的facetool出现这个问题怎么解决 金基德导演的《坏小子》里的男女主角叫什么 金基德电影坏小子 你怎么评价金基德的电影? 金基德一共拍过几部电影?分别是? 韩国电影 男主角喜欢女主角然后把女主角骗去卖身是什么电影 金基德 坏小子男主角 金基德《坏小子》中的女主角是谁? 金基德导演的《坏小子》里的女主角叫什么