今天做的项目中有一个要获取TreeView中第一个选中的节点,当然子节点己包含checkbox
以前做过,用的时候又不知道怎么做了,花了点时间又写了一下,记录下来,以备下次用.
获取TreeView的第一个选中的节点
private TreeNode GetSelectedNode(TreeView tv)
{
TreeNode tn = null;
foreach (TreeNode item in tv.Nodes)
{
if (item.Checked)
{
return item;
}
else
{
tn = GetSelectedChildNode(item);
if (tn != null) break;
}
}
return tn;
}
private TreeNode GetSelectedChildNode(TreeNode treeNode)
{
TreeNode result = null;
foreach (TreeNode item in treeNode.Nodes)
{
if (item.Checked)
{
return item;
}
else
{
result = GetSelectedChildNode(item);
if (result != null) break;
}
}
return result;
}
{
TreeNode tn = null;
foreach (TreeNode item in tv.Nodes)
{
if (item.Checked)
{
return item;
}
else
{
tn = GetSelectedChildNode(item);
if (tn != null) break;
}
}
return tn;
}
private TreeNode GetSelectedChildNode(TreeNode treeNode)
{
TreeNode result = null;
foreach (TreeNode item in treeNode.Nodes)
{
if (item.Checked)
{
return item;
}
else
{
result = GetSelectedChildNode(item);
if (result != null) break;
}
}
return result;
}