|
分類:[.NET 全般]
いつもお世話になっております。
C# / VS2008 / Windows7にて、TreeViewの表示を行っております。
さて、このTreeViewの各ノードの一部に対して、 アイコン表示を行いたいと思い、以下のように設定してみました。 (要は、アイコン表示を行うノードと行わないノードを作成したいということです)
-----------------------------------------------------------------------
//using System.Windows.Forms;
TreeView clsTreeViewControl = new TreeView(); ImageList listTreeNodeImages = new ImageList();
listTreeNodeImages.Images.AddStrip(new Bitmap(16,16)); //実際には何かしらのイメージを入れてます。 listTreeNodeImages.Images.AddStrip(new Bitmap(16,16)); //実際には何かしらのイメージを入れてます。
clsTreeViewControl.ImageList = listTreeNodeImages;
TreeNode clsNonImageTestNode = new TreeNode(); TreeNode clsUseImageTestNode = new TreeNode();
clsNonImageTestNode.ImageIndex = -1; //でも、0以上の値を指定しなさいと書いてあります。 clsUseImageTestNode.ImageIndex = 0; //これは正しい clsTreeViewControl.Nodes.Add(clsNonImageTestNode); clsTreeViewControl.Nodes.Add(clsUseImageTestNode);
------------------------------------------------------------------------
この時、clsNonImageTestNodeにも0番目のイメージが表示されてしまいます。 これは、TreeViewのImageIndexが初期値0のために起こっていると思うのですが、 全く表示しないということはできないのでしょうか? 上記のように、Bitmapでサイズ指定のみ行った場合は、当然ながら何も描かれていない16×16の画像が表示されているため、 インデントがついているような表示になってしまうので、その方法以外でお願いしたいと思います。
以上です。 お手数ですが、宜しくお願い致します。
|