Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中修改树节点上的图标,例如降低不透明度等?_C#_.net_Image_Graphics_Treeview - Fatal编程技术网

如何在C#中修改树节点上的图标,例如降低不透明度等?

如何在C#中修改树节点上的图标,例如降低不透明度等?,c#,.net,image,graphics,treeview,C#,.net,Image,Graphics,Treeview,我希望能够在c#treeview中动态修改图像。具体来说,我想减少某些图像在某些情况下的不透明度 我知道我可以向绑定到treeview的imagelist中添加额外的图标,但是像这样的情况加起来,额外的图标会变得太多 有没有一种方法可以访问treeview节点中的图像而不完全拥有整个图像?或者如果我必须拥有整个树,有没有可以修改的模板 蒂亚 如果查看设计器代码,您应该会看到如下内容: this.imageListTree.ImageStream = ((System.Windows.Forms.

我希望能够在c#treeview中动态修改图像。具体来说,我想减少某些图像在某些情况下的不透明度

我知道我可以向绑定到treeview的imagelist中添加额外的图标,但是像这样的情况加起来,额外的图标会变得太多

有没有一种方法可以访问treeview节点中的图像而不完全拥有整个图像?或者如果我必须拥有整个树,有没有可以修改的模板


蒂亚

如果查看设计器代码,您应该会看到如下内容:

this.imageListTree.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageListTree.ImageStream")));
您可以修改imageListTree.ImageStream中的对象并将其重新绑定到树


如果查看资源文件,应该会在XML文件中看到Base64字符串。您可能可以流式传输Base64并动态操作它。

看起来您必须编写自己的:x-microsoft.net.object.binary.Base64并替换microsoft已有的。问题是,同一个图标需要在同一个树中被修改和未修改,这就是为什么我试图直接修改树节点中的图像