C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C# TreeNodeのアイコン表示について


(過去ログ 106 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■63522 / inTopicNo.1)  C# TreeNodeのアイコン表示について
  
□投稿者/ howling (1回)-(2012/09/04(Tue) 12:47:31)

分類:[.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の画像が表示されているため、
インデントがついているような表示になってしまうので、その方法以外でお願いしたいと思います。

以上です。
お手数ですが、宜しくお願い致します。

引用返信 編集キー/
■63523 / inTopicNo.2)  Re[1]: C# TreeNodeのアイコン表示について
□投稿者/ shu (61回)-(2012/09/04(Tue) 13:09:26)
No63522 (howling さん) に返信

DrawMode=OwnerDrawTextにして
DrawNodeイベントにてテキスト領域にアイコンとテキストを
描画するといいです。
引用返信 編集キー/
■63526 / inTopicNo.3)  Re[2]: C# TreeNodeのアイコン表示について
□投稿者/ howling (2回)-(2012/09/04(Tue) 14:05:42)
shu様

ご返信頂きありがとうございます。
早速試してみましたところ、思っていた通りの挙動を得ることができました。
ありがとうございました!


> DrawMode=OwnerDrawTextにして
> DrawNodeイベントにてテキスト領域にアイコンとテキストを
> 描画するといいです。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -