c# Winform给treeview添加图标问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# Winform给treeview添加图标问题相关的知识,希望对你有一定的参考价值。

我动态生成一个树形目录后,想在每个节点前添加图标。
添加之前先判断,这个节点是否有子节点,如果有则添加一种图标,如果没有,则添加另外一种图标。
我的程序如下:(事先在imagelist1中放了两个图标)
treeView1.Imagelist = imagelist1;
foreach(TreeNode node in treeView1.Nodes)

if(node.Nodes.Count>0)

node.ImageIndex=0;

else

node.ImageIndex=1;


但是程序运行后,所有节点就只显示索引为0的图标,不知道为什么,望高手指点!
treeView1.SuspendLayout();
.......
treeView1.ResumeLayout();
不是很懂。
这位兄弟可否详细说明下?

参考技术A treeView1.SuspendLayout();
.......
treeView1.ResumeLayout();
参考技术B 不要用foreach,用for.
foreach不能用于修改.

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

怎么样设置C# winform treeview 节点展开状态的图标??请问哪位老兄知道,告知一下,谢谢!
可能是我没说清楚,imageindex正常和展开状态的图标,我现在想节点折叠时显示的是一个图标,节点展开时显示另一个图标。我试过自己写一些方法来做,都不是很好用。不知道是不是有某些属性我不知道的。请指点。

如何:设置 Windows 窗体 TreeView 控件的图标

Windows 窗体 TreeView 控件可在每个节点旁显示图标。图标紧挨着节点文本的左侧。若要显示这些图标,必须使树视图与 ImageList 控件相关联

设置 TreeView 控件的 ImageList 属性为想要使用的现有 ImageList 控件。

这些属性可在设计器中使用“属性”窗口进行设置,也可在代码中设置。

设置节点的 ImageIndex 和 SelectedImageIndex 属性。ImageIndex 属性确定正常和展开状态下的节点显示的图像, SelectedImageIndex 属性确定选定状态下的节点显示的图像。

这些属性可在代码中设置,或在“树节点编辑器”中设置。若要打开“树节点编辑器”,请单击“属性”窗口中 Nodes 属性旁边的省略号按钮 ()。

ImageList myImageList = new ImageList();
myImageList.Images.Add(Image.FromFile("Default.gif"));
myImageList.Images.Add(Image.FromFile("SelectedDefault.gif"));
myImageList.Images.Add(Image.FromFile("Root.gif"));
myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif"));
myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif"));
myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif"));
myImageList.Images.Add(Image.FromFile("SelectedOrder.gif"));

// Assign the ImageList to the TreeView.
myTreeView.ImageList = myImageList;

// Set the TreeView control's default image and selected image indexes.
myTreeView.ImageIndex = 0;
myTreeView.SelectedImageIndex = 1;
参考技术A 如果用的是系统里的图标可以点击treeview控件右上角的三角形"套用格式";
如果你想使用一些自定义的图标可以建一个ImageList添加图标
设置TreeView的ImageList为你的ImageList
然后new TreeNode的时候注意提示,构造有个ImageIndex添你的Image编号
参考技术B 建一个ImageList添加图标
设置TreeView的ImageList为你的ImageList
然后new TreeNode的时候注意提示,构造有个ImageIndex添你的Image编号
参考技术C treeview里不是有个“套用格式”吗?
可以在那里设置展开状态的图标

以上是关于c# Winform给treeview添加图标问题的主要内容,如果未能解决你的问题,请参考以下文章

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

C# winform开发中,如果treeview的节点太多,导致加载很慢,怎么做可以提给效率?

C# Winform如何实现单击treeview子节点“设置员工信息” 打开窗体Form1

c#、winform、treeview 部分节点加图片

wpf中的treeview怎样添加图标上去?

如何在vs 2005 中将mdi父窗口分割成两部分,一边treeview,一边显示子窗口(c# winform)