.net - Treeview节点图像在运行时发生变化

标签 .net winforms treeview

表单上有一个 TreeView ,其中填充了一些分层数据。 TreeView 链接到图像列表。很简单,不是吗?

有这样的时刻 - 在特定操作(例如状态更改)之后 - 对于特定节点,我需要清除它的图像 - 仅文本。 我尝试用下面的方法编写代码:

treeView1.SelectedNode.SelectedImageIndex = -1;
treeView1.SelectedNode.ImageIndex = -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);

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

关于.net - Treeview节点图像在运行时发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12456389/

相关文章:

c# - 将 XML 解析为 Treeview 列表

c# - 无法将 [] 索引应用于 IConfiguration 类型的表达式

c# - 使用 GDI+ 在窗体外渲染图形

c# - 在 C# 中模拟雷达的最佳方法是什么?

WPF : TreeView virtualization not working

c# - Windows 窗体 TreeView - 绑定(bind)分层递归数据源

.net - 使用 LINQ 在标记元素处拆分列表?

c# - 查找默认电子邮件客户端

c# - 从 C# 中的重复字符串中确定唯一字符串

c# - "Cross thread operation not valid"..在串行端口上读取数据时