winform 中treeview 展开和折叠首层节点时 切换显示图片,类似qq首层节点那样,点击之后箭头图片改变

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform 中treeview 展开和折叠首层节点时 切换显示图片,类似qq首层节点那样,点击之后箭头图片改变相关的知识,希望对你有一定的参考价值。

参考技术A 1、首先需要将节点放置图片,图片大小16x16,
2、按照操作Treeview的节点api编程即可,核心在于将图片放置在节点上追问

我给treeview 添加了一个imagelist ,然后在加载的时候首层和第二层节点(只有两层)都加了图片,现在的问题是首层的向右和向下箭头图片切换不正常,我选的是nodemouseclick 事件,在事件发生时 ,判断节点是否展开来实现单击展开与闭合和图片的切换,单击切换是实现了,但是换图标不行

参考技术B 首先要有ImageList控件与TreeView关联
节点的展开和关闭事件里修改节点的ImageIndex属性追问

代码贴上,再看看
private TreeNode lastSelNode;//设置一个类变量保存最后选中的那个节点 private void tvShow_AfterSelect(object sender, TreeViewEventArgs e) if (lastSelNode != null && lastSelNode != e.Node)// && lastSelNode != tvShow.Nodes[0] lastSelNode.ImageIndex = 0;else if (lastSelNode != null)lastSelNode.ImageIndex = 1;lastSelNode = e.Node;e.Node.Expand();

追答

不用AfterSelect事件
private void tvEmp_AfterExpand(object sender, TreeViewEventArgs e)

e.Node.SelectedImageIndex = e.Node.ImageIndex = 0;


private void tvEmp_AfterCollapse(object sender, TreeViewEventArgs e)

e.Node.SelectedImageIndex = e.Node.ImageIndex = 1;

本回答被提问者采纳

以上是关于winform 中treeview 展开和折叠首层节点时 切换显示图片,类似qq首层节点那样,点击之后箭头图片改变的主要内容,如果未能解决你的问题,请参考以下文章

C# TreeView 折叠/展开父选择

C# winform treeview 节点展开状态的图标设置

JavaFX TreeView:删除展开/折叠按钮(披露节点)和功能

C# winform treeview 节点展开状态的图标设置

winform中,TreeView如何只展开一级节点

winform 中Treeview控件怎样选中父节点时子节点全部展开,选中其他父节点时原先展开的关闭