如题.是二叉树,想找到其中一个节点并选中,但是断点跟踪,总是在第一个根节点执行,陷入死循环.请大虾们帮忙看下,是哪里的代码出错了.谢谢.
a
|-a1
|-a2
|-a3
|-a4
|-..
b
|-b1
|-b2
|-b3
|-b4
|-.. 如果二级节点的value=传递来的ID值,那么该接点被选中.(不找根接点) private void ShowAllNodes(TreeNodeCollection nodes)
{
foreach (TreeNode node in nodes)
{
string a="节点名: " + node.Value ;
string b="\r\n节点Text:" + node.Text;
string c= "\r\n子节点个数:" + node.ChildNodes.Count.ToString(); if (node.Value == this.lbID.Text.Trim())
{
TreeView1.SelectedNode.Value = node.Value ;//高亮显示节点
node.Selected = true;
break;
}
else
{
ShowAllNodes(this.TreeView1.Nodes);
}
}
}调用: ShowAllNodes(this.TreeView1.Nodes);
a
|-a1
|-a2
|-a3
|-a4
|-..
b
|-b1
|-b2
|-b3
|-b4
|-.. 如果二级节点的value=传递来的ID值,那么该接点被选中.(不找根接点) private void ShowAllNodes(TreeNodeCollection nodes)
{
foreach (TreeNode node in nodes)
{
string a="节点名: " + node.Value ;
string b="\r\n节点Text:" + node.Text;
string c= "\r\n子节点个数:" + node.ChildNodes.Count.ToString(); if (node.Value == this.lbID.Text.Trim())
{
TreeView1.SelectedNode.Value = node.Value ;//高亮显示节点
node.Selected = true;
break;
}
else
{
ShowAllNodes(this.TreeView1.Nodes);
}
}
}调用: ShowAllNodes(this.TreeView1.Nodes);
解决方案 »
- 如何通过字符串实例化一个对象
- 关于二进制转换字符串
- 如何用正则表达式表示呢?
- FTP速率问题
- 请教如果是很不规则的窗体边框该怎么用GraphicsPath类画出!
- 急需解决:100分求助网页抓取问题-----~~~~
- 目前有没有FastReport For .Net的版本的
- 紧急提问,看不懂一个需求,关于C#下refactor的,着急,在线等
- 准备开发个网站过滤程序,大家有思路没有?
- C#DES加密解密,加密成功,解密异常求大神指教一下。多谢,找了一天答案没找到!
- Directory.GetFileSystemEntries()报目录名无效。。help..
- 如何使用任务管理器,让应用程序定时启动关闭
private void ShowAllNodes(TreeNodeCollection nodes)
{
foreach (TreeNode node in nodes)
{
string a="节点名: " + node.Value ;
string b="\r\n节点Text:" + node.Text;
string c= "\r\n子节点个数:" + node.ChildNodes.Count.ToString(); if (node.Value == this.lbID.Text.Trim())
{
TreeView1.SelectedNode.Value = node.Value ;//高亮显示节点
node.Selected = true;
break;
}
else
{
ShowAllNodes(node.ChildNodes);
}
}
}
{
string a="节点名: " + node.Value ;
string b="\r\n节点Text:" + node.Text;
string c= "\r\n子节点个数:" + node.ChildNodes.Count.ToString(); if (node.Value == this.lbID.Text.Trim())
{
TreeView1.SelectedNode.Value = node.Value ;//高亮显示节点
node.Selected = true;
break;
}
else if(int.Parse(c)>0)
{
ShowAllNodes(node.ChildNodes);
}
}
if (node.Value == this.lbID.Text.Trim())
{
TreeView1.SelectedNode.Value = node.Value ;//高亮显示节点
node.Selected = true;
break;
} 的"TreeView1.SelectedNode.Value = node.Value ;//高亮显示节点 " 时,
断点跟踪时显示系统提示"未将对象引用到对象的实例,使用“new”关键字创建对象实例" 把这句去掉,系统就执行过去了,但是节点没有被选中状态,没有颜色的变化,请问这是怎么回事
代码如下.
if (node.Value == this.lbID.Text.Trim())
{
TreeView1.SelectedNode.Value = node.Value ;//高亮显示节点
node.Selected = true;
break;
} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
现在结帖,来者有分,感谢支持.