遍历树的问题 本帖最后由 acai1028 于 2010-05-27 14:26:11 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是一个删除节点的代码 LZ参照一样 /// <summary> /// /// </summary> /// <param name="node"></param> private void DeleteNode(TreeNode node) { TreeNode tempNode = null; if (node.Nodes.Count > 0) { node = node.Nodes[0]; DeleteNode(node); } else { Node.DeleteNode(node.Text); tempNode = node; } if (node != selectedNode && node.Parent != null) { node = node.Parent; node.Nodes.Remove(tempNode); DeleteNode(node); } }楼主应该提高结贴率. 判断条件就是该节点的子节点Nodes属性,其Count不为0,就表示还有下一级节点,就继续遍历!node.Nodes.Count > 0 private StringBuilder s = new StringBuilder(); /// <summary> /// 遍历把最后级的子节点的Text保存到s /// </summary> /// <param name="node">传入所选择的节点,例如“马”</param> private void ShowNode(TreeNode node) { foreach (TreeNode tmnode in node.ChildNodes) { if (tmnode.ChildNodes.Count > 0)//还不是最后级的子节点 { ShowNode(tmnode); } else//是最后级的子节点 { s.AppendLine(tmnode.Text); } } } 类似于文件遍历private StringBuilder s = new StringBuilder();private void ShowNode(TreeNode node) { s.AppendLine(node.Text); foreach (TreeNode tmnode in node.ChildNodes) { ShowNode(tmnode); } } 怎么重定位Internet Explorer_Server浏览的地址? C# .net 关于锁键盘的问题 我也杯具了,10进制转不了ASCII 字符! 火狐里鼠标经过变色的小问题 装箱的byte[]数组如何复制出来 屏蔽手机号码 求助:错误: 此模板试图加载不受信任的组件 一个关于Spliter的问题,请大虾指点迷津 在vs2005中winForm里的listBox及comBox中怎么样才可以加图片及文字啊.(我要一起加),帮顶有分 菜鸟问题~~求助 关于删除消息队列中的消息 问题 不知道怎么描述这个问题,winForm中DatagridView控件
这是一个删除节点的代码 LZ参照一样 /// <summary>
///
/// </summary>
/// <param name="node"></param>
private void DeleteNode(TreeNode node)
{
TreeNode tempNode = null;
if (node.Nodes.Count > 0)
{
node = node.Nodes[0];
DeleteNode(node);
}
else
{
Node.DeleteNode(node.Text);
tempNode = node;
}
if (node != selectedNode && node.Parent != null)
{
node = node.Parent;
node.Nodes.Remove(tempNode);
DeleteNode(node);
}
}楼主应该提高结贴率.
/// <summary>
/// 遍历把最后级的子节点的Text保存到s
/// </summary>
/// <param name="node">传入所选择的节点,例如“马”</param>
private void ShowNode(TreeNode node)
{ foreach (TreeNode tmnode in node.ChildNodes)
{
if (tmnode.ChildNodes.Count > 0)//还不是最后级的子节点
{
ShowNode(tmnode);
}
else//是最后级的子节点
{
s.AppendLine(tmnode.Text);
}
}
}
private void ShowNode(TreeNode node)
{
s.AppendLine(node.Text);
foreach (TreeNode tmnode in node.ChildNodes)
{
ShowNode(tmnode);
}
}