小妹求教!如何历遍TreeView某一层节点! 我做一个TreeView,有鼠标右键重命名的功能!在我重名的时候我想历遍我修改节点那一层所有节点判断一下是否有重命名的!谢谢!各位师哥!请各位师哥代码明示!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 唉,,,在Delphi里实现过......C#中还没有,试试再告诉你 private void treeView1_AfterLabelEdit(object sender, NodeLabelEditEventArgs e){ TreeNodeCollection vNodes; // 所在节点列表 if (e.Node.Parent == null) // 最顶层节点 vNodes = ((TreeView)sender).Nodes; else vNodes = e.Node.Parent.Nodes; foreach(TreeNode vNode in vNodes) if (vNode != e.Node && vNode.Text == e.Label) // 不是自己 文字一样 { MessageBox.Show("同级节点,重名了!"); e.CancelEdit = true; break; }} 来晚了.....这个,是我自己写的也能实现的.可以参考,参考!传入修改过的节点root,和其下一级的所有子节点child,flag用语存储判断结果.递归遍历其下所有节点.public static void checkNode(TreeNode root, TreeNodeCollection child, ref bool flag) { for (int i = 0; i < child.Count; i++) { if (root.Text==child[i].Text) { flag = true; return; } else { checkNode(root, child[i].Nodes,ref flag); } } return; } http://community.csdn.net/Expert/topic/5709/5709429.xml?temp=.1637079 看看 TreeNode 的相关属性就ok了 //遍历 this.treeView1.SelectedNode.Parent.Nodes;选中节点的父节点的节点集合就是同层的了 C#实现桌面共享的解决方法 未将对象引用设置到对象的实例 winForm的shown事件,控件显示不正常 dataGridView怎么获得值 .net OnClick事件中写数据库连接,为什么会增加连接池的连接数量 帮帮忙吧,写注册表的问题。 一道大学JS作业 取得2个字符串之间的字符用那个类 ? webfrom下的DataGrid的用法(添加、更新、删除的操作)。 如何得到网页上的URL信息???? 请教一下各位大虾!C#怎样连接服务器数据库? DATATIMEPICKER中能否禁用或者屏蔽早于当前日期的选择?
{
TreeNodeCollection vNodes; // 所在节点列表
if (e.Node.Parent == null) // 最顶层节点
vNodes = ((TreeView)sender).Nodes;
else vNodes = e.Node.Parent.Nodes;
foreach(TreeNode vNode in vNodes)
if (vNode != e.Node && vNode.Text == e.Label)
// 不是自己 文字一样
{
MessageBox.Show("同级节点,重名了!");
e.CancelEdit = true;
break;
}
}
这个,是我自己写的也能实现的.可以参考,参考!
传入修改过的节点root,和其下一级的所有子节点child,flag用语存储判断结果.递归遍历其下所有节点.public static void checkNode(TreeNode root, TreeNodeCollection child, ref bool flag)
{
for (int i = 0; i < child.Count; i++)
{
if (root.Text==child[i].Text)
{
flag = true;
return;
}
else
{
checkNode(root, child[i].Nodes,ref flag);
}
}
return;
}