如何使特定树节点在树视图中显示为文件夹

时间:2013-08-26 06:40:41

标签: c# winforms

如何使特定树节点在树视图中显示为文件夹? 我正在使用我的数据库中的表创建一个动态树视图,并基于一列,即NodeType具有值(1或2),我希望它显示为文件夹或普通树节点。

伪代码会更有益。

desired result

提前致谢!

1 个答案:

答案 0 :(得分:4)

您可以将文件夹图像放在ImageList控件中,并将TreeView控件的ImageList属性设置为此图像列表,并在创建节点时将该节点的ImageIndex设置为所需的索引。

    TreeNode tn = new TreeNode();
    if (imageShouldBeFolderImage)
        tn.ImageIndex = 0;

    // If you want to show another image for other cases, 
    // If you want no image ignore this else part
    else            
        tn.ImageIndex = 1;

<强>更新

如果选择一个节点将其图像更改为另一个不受欢迎的图像,它是由TreeView的SelectedImageIndex属性引起的,我建议将空图像添加到图像列表并设置节点SelectedImageIndex。

TreeNode tn = new TreeNode();
if (imageShouldBeFolderImage)
{
    tn.ImageIndex = 0;
    tn.SelectedImageIndex = 0;
}
else
{            
    tn.ImageIndex = 1;//the index of the empty image
    tn.SelectedImageIndex = 1;
}