在TREEVIEW中如何查找某节点? 我想在TREEVIEW中根据节点的字符,如何查找到这个节点并定位到该节点上? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //set create treenode objectTreeNode selectnode,chilenode;private void FindSelectNode(string txtnode){ foreach(selectnode in trvlist.nodes) { foreach(chilenode in selectnode.nodes) { chilenode.text=txtnode; chilenode.selectnodes();//选择节点 } }} 每个节点都可以设置ID,然后根据ID获取具体的节点 我用的方法是用递归函数,private void button1_Click(object sender, System.EventArgs e){ TreeNode node = FindNode(this.treeView1.Nodes[0],"ChildText"); if(node == null) { MessageBox.Show("I couldn't find!"); } else { MessageBox.Show("Yes,I find!"); }}private TreeNode FindNode(TreeNode FatherNode , String findText){ if(FatherNode == null) return null ; if(FatherNode.Text.Equals(findText)) return FatherNode; else { foreach(TreeNode childNode in FatherNode.Nodes) { TreeNode tmpNode = FindNode(childNode,findText); if(tmpNode != null) return tmpNode ; } } return null;} 首先谢谢大家!TO: zhangxiaopin(zxp) 我测试了你的代码,不能实现呢,chilenode.selectnodes();//选择节点也没有找到这个方法TO: zglxh3(noproblem),我也在VS2003中测试了你的代码,还是不能实现.我等.... private void button1_Click(object sender, System.EventArgs e){ TreeNode tnRes=null; for(int i=0;i<treeView1.Nodes.Count;i++) { tnRes=CompareNodes(treeView1.Nodes[i]); if(tnRes!=null) { tnRes.EnsureVisible(); treeView1.Select(); treeView1.SelectedNode=tnRes; break; } }}private TreeNode CompareNodes(TreeNode tnCurr){ TreeNode tnRes=null; for(int i=0;i<tnCurr.Nodes.Count;i++) { if(tnCurr.Nodes[i].Text.Trim()=="节点文本") { tnRes=tnCurr.Nodes[i]; return tnRes; } else { tnRes= CompareNodes(tnCurr.Nodes[i]); } } return tnRes;} TO lijipan(多空你的代码我用过了,还是不行啊?? if(tnCurr.Nodes[i].Text.Trim()=="节点文本")这句要你自己修改.我自己试过是可以的. 多空你好!我用了你的代码,在装载了树后,节点还是不能展开,光标不能定位到相应的节点上,我的代码如下: private TreeNode CompareNodes(TreeNode tnCurr) { TreeNode tnRes=null; for(int i=0;i<tnCurr.Nodes.Count;i++) { if(tnCurr.Nodes[i].Text.Trim()=="税法练习") { tnRes=tnCurr.Nodes[i]; return tnRes; } else { tnRes= CompareNodes(tnCurr.Nodes[i]); } } return tnRes; } private void button1_Click(object sender, System.EventArgs e) { TreeNode tnRes=null; for(int i=0;i<treeView1.Nodes.Count;i++) { tnRes=CompareNodes(treeView1.Nodes[i]); if(tnRes!=null) { tnRes.EnsureVisible(); treeView1.Select(); treeView1.SelectedNode=tnRes; break; } } } WinForm中App.config数据库连接问题 C#快速排序法 为何新建线程创造窗体会报错呢 如何在C#中引用Excel? 请教国内外有名的C#论坛 一个很奇怪的异常问题。请帮忙。。。 我要从WEB转成WINDOWS了!大家给点建议! 请版主和高手兄弟们帮我解决一个我好久没搞出来的问题!关于treeview控件的使用,我的工具箱中没有这个控件,请问如何添加?我已下载ieweb 位图操作的一个问题 求助 MSDN无法使用 急!c# winform:如何在DataGrid最后一行中插入一条数据 C#中保存一串十六进制数据,用什么类型的数据呀?
TreeNode selectnode,chilenode;private void FindSelectNode(string txtnode)
{
foreach(selectnode in trvlist.nodes)
{
foreach(chilenode in selectnode.nodes)
{
chilenode.text=txtnode;
chilenode.selectnodes();//选择节点
}
}}
private void button1_Click(object sender, System.EventArgs e)
{
TreeNode node = FindNode(this.treeView1.Nodes[0],"ChildText"); if(node == null)
{
MessageBox.Show("I couldn't find!");
}
else
{
MessageBox.Show("Yes,I find!");
}
}private TreeNode FindNode(TreeNode FatherNode , String findText)
{
if(FatherNode == null)
return null ; if(FatherNode.Text.Equals(findText))
return FatherNode;
else
{
foreach(TreeNode childNode in FatherNode.Nodes)
{
TreeNode tmpNode = FindNode(childNode,findText); if(tmpNode != null)
return tmpNode ;
}
} return null;
}
TO: zhangxiaopin(zxp) 我测试了你的代码,不能实现呢,chilenode.selectnodes();//选择节点也没有找到这个方法TO: zglxh3(noproblem),我也在VS2003中测试了你的代码,还是不能实现.
我等....
{
TreeNode tnRes=null;
for(int i=0;i<treeView1.Nodes.Count;i++)
{
tnRes=CompareNodes(treeView1.Nodes[i]); if(tnRes!=null)
{
tnRes.EnsureVisible();
treeView1.Select();
treeView1.SelectedNode=tnRes;
break;
}
}
}
private TreeNode CompareNodes(TreeNode tnCurr)
{
TreeNode tnRes=null;
for(int i=0;i<tnCurr.Nodes.Count;i++)
{
if(tnCurr.Nodes[i].Text.Trim()=="节点文本")
{
tnRes=tnCurr.Nodes[i];
return tnRes;
}
else
{
tnRes= CompareNodes(tnCurr.Nodes[i]);
}
}
return tnRes;
}
你的代码我用过了,还是不行啊??
这句要你自己修改.我自己试过是可以的.
我用了你的代码,在装载了树后,节点还是不能展开,光标不能定位到相应的节点上,我的代码如下:
private TreeNode CompareNodes(TreeNode tnCurr)
{
TreeNode tnRes=null;
for(int i=0;i<tnCurr.Nodes.Count;i++)
{
if(tnCurr.Nodes[i].Text.Trim()=="税法练习")
{
tnRes=tnCurr.Nodes[i];
return tnRes;
}
else
{
tnRes= CompareNodes(tnCurr.Nodes[i]);
}
}
return tnRes;
} private void button1_Click(object sender, System.EventArgs e)
{
TreeNode tnRes=null;
for(int i=0;i<treeView1.Nodes.Count;i++)
{
tnRes=CompareNodes(treeView1.Nodes[i]); if(tnRes!=null)
{
tnRes.EnsureVisible();
treeView1.Select();
treeView1.SelectedNode=tnRes;
break;
}
}
}