2

フォームには、いくつかの階層データで満たされたツリービューがあります。Treeview はイメージリストにリンクされています。とてもシンプルですね。

そのような瞬間があります-特定のアクション(ステータスの変更など)の後-特定のノードの画像をクリアする必要があります-テキストのみ。次の方法でコードを試します。

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

動作しません-画像は持続します。

これを行う方法はありますか?

4

2 に答える 2

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

その後、ノードのイメージを「クリア」する必要がある場合は、このイメージをそのノードに設定するだけです。

于 2012-09-17T09:49:32.867 に答える
1

ImageList に空白の画像を追加することで、これをだますことができます。

于 2012-09-17T09:50:11.727 に答える