此功能只找到在樹狀第一節點,包含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