此功能只找到在树状第一节点,包含SEARCHTEXT。树视图搜索
private TreeNode SearchNode(string SearchText,TreeNode StartNode)
{
TreeNode node=null;
while (StartNode!= null)
{
if (StartNode.Text.ToLower().Contains(SearchText.ToLower()))
{
node = StartNode;
break;
};
if (StartNode.Nodes.Count != 0)
{
node=SearchNode(SearchText, StartNode.Nodes[0]);//Recursive Search
if (node != null)
{
break;
};
};
StartNode = StartNode.NextNode;
};
return node;
}
private void button1_Click(object sender, EventArgs e)
{
string SearchText = this.textBox1.Text;
if (SearchText == "")
{
return;
};
TreeNode SelectedNode = SearchNode(SearchText, treeView1.Nodes[0]);
if (SelectedNode != null)
{
this.treeView1.SelectedNode = SelectedNode;
this.treeView1.SelectedNode.Expand();
this.treeView1.Select();
};
}
我应该如何改变它,这样的功能将能够找到不仅是第一个节点,但所有这些,每次当我点击按钮1,它会寻找下一个节点,直到结束,然后它从一开始就开始。所以我不应该从TreeView1.Nodes [0],而是从TreeView1.SelectedNode搜索...
上的文字是这样的WinForms和ASP.Net?这个问题有两个部分,真的 - 找到节点,然后显示它们。我怀疑这就是作者创建函数的原因 - 它只返回一个节点,以便将树扩展到单个节点。 – dash 2012-07-17 21:04:37
这是WinForms。我并不需要在同一时间显示所有节点,我需要选择旋转 – 2012-07-17 21:16:40