Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
.net Treeview节点映像在运行时发生更改_.net_Winforms_Treeview - Fatal编程技术网

.net Treeview节点映像在运行时发生更改

.net Treeview节点映像在运行时发生更改,.net,winforms,treeview,.net,Winforms,Treeview,表单上有一个树视图,其中填充了一些层次结构数据。Treeview链接到一个imagelist。很简单,不是吗 有这样一个时刻——在一个特定的动作(比如状态改变)之后——对于一个特定的节点,我需要清除它的纯图像文本。 我尝试用下一种方法编写代码: treeView1.SelectedNode.SelectedImageIndex = -1; treeView1.SelectedNode.ImageIndex = -1; 但不是工作——形象依然存在 有办法吗?好的,我自己找到了解决办法。 首先-对

表单上有一个树视图,其中填充了一些层次结构数据。Treeview链接到一个imagelist。很简单,不是吗

有这样一个时刻——在一个特定的动作(比如状态改变)之后——对于一个特定的节点,我需要清除它的纯图像文本。 我尝试用下一种方法编写代码:

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);

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

您可以通过向图像列表中添加空白图片来欺骗它。

您首先触发:)很好,因为它是运行时的。