如何取得一颗树所有节点的值 private void showNodes(TreeNode tn){ MessageBox.Shwo(tn.Text); foreach(TreeNode tnchild in tn.Nodes) { showNodes(tnchild); }} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TreeView tv;foreach(TreeNode tn in tv.Nodes){ showNodes(tn);} private void showNodes(TreeNodeCollection tnc){ foreach(TreeNode node in tnc) { MessageBox.Show(tn.Text); if (node.Nodes.Count != 0 ) showNodes(node.Nodes); }} private void showNodes(TreeNodeCollection tnc){ foreach(TreeNode node in tnc) { MessageBox.Show(node.Text); if (node.Nodes.Count != 0 ) showNodes(node.Nodes); }} 我考,要是一个树有上百个节点,这样MessageBox.Show下去还不让人晕死!一个人贴了,个个都跟着一样的贴,没一个动脑筋想想的。用递归不错,不过建议你是用递归把节点的值都复制到一个string中去,再一次性用MessageBox.Show出来 还有什么方法更明了些吗"树的name是 treeView1;我的用意是 一个变量string 判断它是不是等于树节点的值请给代码,如果成功一百分就是他的 private ArrayList al = new ArrayList();private void showNodes(TreeNodeCollection tnc,ArrayLsit al,string yourStrWantToCompare){ foreach(TreeNode node in tnc) { if(node.Text == yourStrWantToCompare) al.Add(node); if (node.Nodes.Count != 0 ) showNodes(node.Nodes); }}执行完这个方法之后ArrayList al里面会有所有满足【我的用意是 一个变量string 判断它是不是等于树节点的值】的节点foreach(TreeNode tn in al){ MessageBox.Show(tn.Text);} 树的name是 treeView1;我的用意是 一个变量string 判断它是不是等于树节点的值-----------------------------------private bool isEqual = false;private bool JudgeEqual(string myStr){ showNodes(treeView1.Nodes,myStr); return isEqual;}private void showNodes(TreeNodeCollection tnc,string myStr){ foreach(TreeNode node in tnc) { if (myStr == node.Text) { isEqual = true; brek; } if (node.Nodes.Count != 0 ) showNodes(node.Nodes,myStr); }} private bool isEqual = false;private bool JudgeEqual(string myStr){ showNodes(treeView1.Nodes,myStr); return isEqual;}private void showNodes(TreeNodeCollection tnc,string myStr){ foreach(TreeNode node in tnc) { if (myStr == node.Text) { isEqual = true; break; //这里上面漏字母了 } if (node.Nodes.Count != 0 ) showNodes(node.Nodes,myStr); }} 递归知道,可惜不会.不过树的递归网上代码多着呢? id name parentid 嘛意思? 在Winform中DataTable应该何时释放资源 winform 连接SQLSERVER treeview节点访问 C#可以实现p2p类似共享资源这样的软件吗?我想了解整体架构和思路 C#的类好像不用加“C”做前缀,为什么呢? 有谁知道哪里有快的Excel控件 存储过程是否有这种功能(详细见内)? 用webclient抓取新浪财经的数据很慢,求帮忙解决 请问大家有没有做过连接银行POS机的项目 50分求购关于C#事件方面的问题!急! 我心仪的公司找我面试了,大家给我提个建议吧,多谢多谢!!
foreach(TreeNode tn in tv.Nodes)
{
showNodes(tn);
}
private void showNodes(TreeNodeCollection tnc)
{
foreach(TreeNode node in tnc)
{
MessageBox.Show(tn.Text);
if (node.Nodes.Count != 0 )
showNodes(node.Nodes);
}
}
{
foreach(TreeNode node in tnc)
{
MessageBox.Show(node.Text);
if (node.Nodes.Count != 0 )
showNodes(node.Nodes);
}
}
用递归不错,不过建议你是用递归把节点的值都复制到一个string中去,再一次性用MessageBox.Show出来
树的name是 treeView1;
我的用意是 一个变量string 判断它是不是等于树节点的值
请给代码,如果成功一百分就是他的
{
foreach(TreeNode node in tnc)
{
if(node.Text == yourStrWantToCompare)
al.Add(node);
if (node.Nodes.Count != 0 )
showNodes(node.Nodes);
}
}
执行完这个方法之后ArrayList al里面会有所有满足【我的用意是 一个变量string 判断它是不是等于树节点的值
】的节点
foreach(TreeNode tn in al)
{
MessageBox.Show(tn.Text);
}
我的用意是 一个变量string 判断它是不是等于树节点的值
-----------------------------------
private bool isEqual = false;
private bool JudgeEqual(string myStr)
{
showNodes(treeView1.Nodes,myStr);
return isEqual;
}
private void showNodes(TreeNodeCollection tnc,string myStr)
{
foreach(TreeNode node in tnc)
{
if (myStr == node.Text)
{
isEqual = true;
brek;
}
if (node.Nodes.Count != 0 )
showNodes(node.Nodes,myStr);
}
}
private bool JudgeEqual(string myStr)
{
showNodes(treeView1.Nodes,myStr);
return isEqual;
}
private void showNodes(TreeNodeCollection tnc,string myStr)
{
foreach(TreeNode node in tnc)
{
if (myStr == node.Text)
{
isEqual = true;
break; //这里上面漏字母了
}
if (node.Nodes.Count != 0 )
showNodes(node.Nodes,myStr);
}
}
id name parentid