TreeView

プロパティ

プロパティ 内容 既定
TreeNodeCollection Nodes 割り当てられている、TreeNodeのコレクション  
TreeNode TopNode 先頭に表示されているTreeNode。Scrollableがtrueのとき、これに設定すると表示がスクロールする  
TreeNode SelectedNode 選択されているTreeNode。選択されていないならばnull  
bool ShowRootLines trueならば、ルートにあるTreeNode間を結ぶ線を描画する true
bool ShowLines trueならば、TreeNodeを結ぶ線を描画する true
bool ShowPlusMinus trueならば、子TreeNodeがあるときプラスまたはマイナス記号を描画する true
bool FullRowSelect trueならば、選択されているときコントロールの幅全体が強調表示される。ただしShowLinesがtrueならば、この指定は無視される  
bool HideSelection trueならば、フォーカスを失ったときに強調表示が解除される true
bool HotTracking trueならば、マウスオーバーでラベルの外観がハイパーリンクになる false
bool LabelEdit trueならば、ユーザーはTreeNodeのラベルのテキストを編集できる true
bool CheckBoxes trueならば、TreeNodeの横にチェックボックスが表示される false
bool Sorted trueならば、TreeNodeはTextプロパティの値に基づきアルファベット順に並べ替えられる false
int Indent インデントの幅 19
string PathSeparator TreeNode.FullPathプロパティで使用する区切り文字列 "\"
       
プロパティ - TreeView クラス (System.Windows.Forms) | Microsoft Learn

Nodes

TreeNode node1 = treeView.Nodes.Add("1");
TreeNode node2 = treeView.Nodes.Add("2");

TreeNode node3 = node1.Nodes.Add("3");
TreeNode node4 = node1.Nodes.Add("4");

メソッド

メソッド 機能
GetNodeCount(Boolean) TreeNodeの数を取得できる
ExpandAll() すべてのツリー ノードを展開できる
CollapseAll() すべてのツリー ノードを折りたためる
Sort() 項目を並べ替えられる
BeginUpdate() TreeViewの再描画を無効にする
EndUpdate() TreeViewの再描画を有効にする
   

GetNodeCount()

TreeNodeの数を取得できます。引数にtrueを渡すことで、サブツリー (subtree) のTreeNodeも含められます。

public int GetNodeCount (bool includeSubTrees);
TreeView.GetNodeCount(Boolean) メソッド (System.Windows.Forms) | Microsoft Learn

サブツリーを含めないならばchildCountフィールドの値が返されるだけのため、負荷は小さいです。GetNodeCount - TreeView.cs

イベント

区分 イベント 発生タイミング
マウス TreeNodeMouseClickEventHandler NodeMouseClick  
TreeNodeMouseClickEventHandler NodeMouseDoubleClick  
展開 TreeViewCancelEventHandler BeforeExpand  
TreeViewEventHandler AfterExpand  
折りたたみ TreeViewCancelEventHandler BeforeCollapse  
TreeViewEventHandler AfterCollapse  
選択 TreeViewCancelEventHandler BeforeSelect  
TreeViewEventHandler AfterSelect  
       

NodeMouseClick

ノードまたはそのノードの折りたたみ状態を示すプラスやマイナス記号が、マウスでクリックされたときに発生します。クリックされたノードは、引数のTreeNodeMouseClickEventArgs.Nodeから取得できます。TreeView.NodeMouseClick イベント (System.Windows.Forms) | Microsoft Learn

TreeNodeCollection クラス

メソッド 機能
Add(String) ラベルテキストを指定して、コレクションの末尾に追加できる
Add(String, String) 名前 (キー※1) とラベルテキストを指定して、コレクションの末尾に追加できる
Remove(TreeNode) 指定のTreeNodeを、コレクションから削除できる。該当するTreeNodeがなければ、何もしない
RemoveByKey(String) 指定のキー※1を持つTreeNodeを、コレクションから削除できる。該当するTreeNodeがなければ、何もしない
Clear() すべてのTreeNodeを、コレクションから削除できる。
Contains(TreeNode) 指定のTreeNodeが、コレクションに含まれているかを判定できる
ContainsKey(String) 指定のキー※1を持つTreeNodeが、コレクションに含まれているかを判定できる
IndexOf(TreeNode) 指定のTreeNodeの、インデックスを得られる
IndexOfKey(String) 指定のキー※1を持つTreeNodeのうち、最初のそれのインデックスを得られる
Find(String, Boolean) 指定のキー※1を持つTreeNodeを検索できる
   
メソッド - TreeNodeCollection クラス (System.Windows.Forms) | Microsoft Learn

※1 キーはTreeNodeクラスのNameプロパティであり、子ノードであっても、そのNameプロパティの値が対象となります。よってキーで検索するには、これを適切な値とします。またキーによる検索では、Find()以外では子ノードを対象とできません。

Find()

public System.Windows.Forms.TreeNode[] Find (
    string key,
    bool searchAllChildren
    );
TreeNodeCollection.Find(String, Boolean) Method (System.Windows.Forms) | Microsoft Learn

keyの大文字/小文字は区別されません。searchAllChildrenをtrueとすると、子ノード (child nodes) も対象とできます。

一致するTreeNodeがなければ、空の配列が返されます。

TreeNode クラス

TreeViewのノードを表します。

プロパティ 内容
TreeView TreeView TreeNodeが割り当てられているTreeView
string Name TreeNodeの名前。ノードがTreeNodeCollectionの一部ならば、これはノードのキーを表す
string Text ラベルに表示されるテキスト。表示可能な文字数は259で、それより大きなテキストを割り当てても、それ以上は表示されない
string FullPath ルートからこのノードまでのパス。これはこのノードまでのラベルを、PathSeparatorで連結したもの
TreeNodeCollection Nodes TreeNodeに割り当てられているTreeNode
TreeNode FirstNode Nodesプロパティ内の最初のTreeNode。子TreeNodeがなければnull
TreeNode LastNode Nodesプロパティ内の最後のTreeNode。子TreeNodeがなければnull
TreeNode Parent 親TreeNode。ルートならばnull
TreeNode NextNode 親TreeNodeのNodes内の、次のTreeNode。次のTreeNodeがなければnull
TreeNode PrevNode 親TreeNodeのNodes内の、前のTreeNode。前のTreeNodeがなければnull
int Index TreeNodeCollection内での位置
int Level TreeView内での深さ
bool IsSelected trueならば、選択されている
bool IsExpanded trueならば、展開されている
     
プロパティ - TreeNode クラス (System.Windows.Forms) | Microsoft Learn
メソッド 機能
Remove() TreeViewから、このTreeNodeを削除できる
GetNodeCount(Boolean) 子TreeNodeの数を取得できる

子TreeNodeの存在だけならば、FirstNodeプロパティがnullではないことで確認できる

Expand() TreeNodeを展開できる
ExpandAll() NodesプロパティのすべてのTreeNodeを展開できる
Collapse() TreeNodeを折りたためる
Collapse(Boolean) falseを指定すると、子TreeNodeも折りたためる
   
Microsoft Learnから検索