读书人

c# Winform给treeview添加图标有关问题

发布时间: 2012-03-22 17:43:57 作者: rapoo

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的图标,不知道为什么,望高手指点!

[解决办法]
代码有错误。
foreach(TreeNode node in treeView1.Nodes)
上面这个循环只能遍历到第一级节点,应该使用递归的方法,不难。


[解决办法]

C# code
treeView1.Imagelist = imagelist1; SetIcon(treeView1.Nodes[0]);...private void SetIcon(TreeNode tn){  foreach(TreeNode node in tn.Nodes)   {     if(node.Nodes.Count>0)         {             node.ImageIndex=0;             SetIcon(node);        }     else         {             node.ImageIndex=1;         }    } } 

读书人网 >C#

热点推荐