【.net】TreeViewそういや初めて触った@ノード検索
そういや初めて触ったTreeViewコントロール、あまり機会がないですよね(;^ω^)
開いた時に予めノードを選択しておくっての、やりたくなりますが、これを一発でやってくれるメソッドが見当たらない・・。マジっすか
TreeNodeオブジェクトには、さまざまなプロパティがあるので、もっと効率的な方法があるかもしれないが、時間が無いので、急いで作ってみました。
再帰呼出が必須となりますので、tnsに、TreeView.TreeNodesを、strIDにキーを入れときます。表示名で検索する場合は、内部の条件を書き換えればよし。
あれば、TreeNodeで帰るので、そのまま、TreeView.SelectedNodeに渡せばOKです。
大した事やってないですけど。コピペ用としてどうぞ。
private TreeNode SearchNode(TreeNodeCollection tns,string strID)
{
foreach (TreeNode tn in tns)
{
if (tn.Name.Equals(strID)) return tn;
if (tn.Nodes != null)
{
TreeNode tnr = SearchNode(tn.Nodes, strID); //お子さんが居れば、再帰呼出
if (tnr != null) return tnr;
}
}
return null;
}