防止TreeView根节点上的图像,并防止所选节点默认为图像0

时间:2014-06-26 19:49:59

标签: c# .net-4.0 treeview

我在运行时填充了TreeView ImageList。此TreeView只有一个根节点,其他所有内容都是该根节点的直接子节点。

我有两个问题:

1)我的根节点有图像,我不想要。

//I tried to put -1, because this property has a default 0 (non-nullable int)
this.Nodes[0].ImageIndex = -1;
//But nothing happened.

2)所选节点总是将图像更改为索引0,它不应该

//Again, changing to -1 did nothing.
this.SelectedImageIndex = -1;

示例:

enter image description here

2 个答案:

答案 0 :(得分:1)

获取一个空白.ico文件(您可以使用此文件:http://knowledgebase.twocoders.de/wp-content/uploads/2010/10/blank.ico)并将其添加到图像列表中。将图像设置为blank.ico的索引。最终结果应该是没有图标的列表视图节点。以下是它的外观示例:

This is a picture

答案 1 :(得分:0)

只需将每个节点的SelectedImageIndex设置为与ImageIndex相同的值。因此,如果您以编程方式创建节点:

    TreeNode node = new TreeNode("My Node");
    node.ImageIndex = 1;
    node.SelectedImageIndex = 1;

或者您可以在构造函数中指定整个批次:

    TreeNode node = new TreeNode("My Node" ,1, 1);

如果要在设计时添加节点,则可以使用设计时编辑器执行相同的操作。您只需要在节点级别而不是TreeView级别设置SelectedImageIndex。