ビジュアル スタイルを無効にせずに、C# .net のツリー ビューでプラス マイナス アイコンを大きくするにはどうすればよいですか。
3 に答える
私はあなたがそれについて何のコントロールも持っていないと思います。実行できる唯一のことは、DrawNodeイベントをオーバーライドして、ノードを自分でペイントすることです。
まず、DrawModeをOwnerDrawAllに変更する必要があります。関連するmsdnページを見てください。驚くほど多くの詳細が含まれています:http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.drawnode.aspx
これは少し遅れています...しかし、これに遭遇し、(偶然に) TreeView (WinForms) のプラス/マイナス記号のサイズを制御する (間接的な) 方法があることを発見しました。
基本的に画像リストを追加する必要があり、TreeView のプラス/マイナス記号は画像のサイズによって変わります。これをデザイナーで表示するには、次の手順を実行します。
- フォームに TreeView を作成し、いくつかのダミー ノードを作成します (子ノードがあることを確認します)。
- イメージ リストを作成し、ツリー ビューに渡します (ImageList プロパティに設定します)。
- イメージ リストの ImageSize を 16,16 に設定し、ツリー ビューの Indent を 3 + イメージのサイズ (19) に設定し、ツリー ビューの ItemHeight をイメージ リストのサイズ (16) に設定します。
- ImageList に移動し、ImageSize プロパティを 24、24 に変更し、手順 3 のように Indent プロパティと ItemHeight プロパティを (それぞれ 27 と 24 に) 変更します。ツリー ビューに大きなプラス/マイナス記号が表示されます。
リストに画像を含める必要があるとは思いませんが、そのように試したことはありません。これが誰かに役立つことを願っています。
デフォルトの 10px よりも大きいですか?上記の回答に従うと思いますが、元のサイズを復元する方法を決定しようとしているときにこれに遭遇したためです。
indent プロパティを設定すると、ある程度制御できることがわかります。10 px 未満のものは、+/- アイコンを縮小し始めます。インデント 5 で設定されていたツリービューがあり、それを 15 (または 10) に戻すとアイコンのサイズが元に戻ることがわかりました。
その分野で解決策を探している他の誰かに役立つことを願っています。