Treeview节点映像在运行时更改

时间:2012-09-17 09:24:01

标签: .net winforms treeview

在表单上有一个树视图,里面填充了一些分层数据。 Treeview链接到图像列表。很简单,不是吗?

有一个这样的时刻 - 在特定行动(例如状态改变)之后 - 对于特定节点,我需要清除它的图像 - 仅文本。 我尝试下一步编码:

treeView1.SelectedNode.SelectedImageIndex = -1;
treeView1.SelectedNode.ImageIndex = -1;

但没有工作 - 图像仍然存在。

有办法吗?

2 个答案:

答案 0 :(得分:1)

好的,我自己找到了解决方案。 首先 - 对我的问题的回答是否定的,但有一个技巧 - 在表单加载方面我动态添加透明图像:

 Bitmap mockBmp = new Bitmap(16, 16);
 using (Graphics g = Graphics.FromImage(mockBmp))
            g.Clear(Color.Transparent);
 //add images to list
 this.imageList1.Images.Add("RootNode", mockBmp);

之后,当我需要“清除”节点的图像时 - 我只需将此图像设置为该节点。

答案 1 :(得分:1)

您可以通过向ImageList添加空白图片来欺骗它。