利用一个递归函数将TreeView中所选择的值 Add到一个List<String> 中
public static void GetTreeViewSelectItems(TreeView tree)
{
//リスト無効の場合
if (treeValLst == null)
{
//初始化
treeValLst = new List<string>();
}
//初始化
treeValLst.Clear();
//エラーの場合
if (tree == null || tree.Nodes == null || tree.Nodes.Count == 0)
{
return;
}
//遍歴ノード
foreach (TreeNode item in tree.Nodes)
{
GetTreeViewSelectItems(item);
}
}
private static void GetTreeViewSelectItems(TreeNode node)
{
//遍歴終了の場合
if (node == null)
{
return;
}
//ントノード選ばれ
//カレントノードの下層ノードを遍歴する必要がない
if (node.Checked)
{
string val = node.Value;
treeValLst.Add(val);
return;
}
//遍歴終了の場合
if (node.ChildNodes == null || node.ChildNodes.Count == 0)
{
return;
}
//遍歴ノード
foreach (TreeNode item in node.ChildNodes)
{
GetTreeViewSelectItems(item);
}
}