要在Winform TreeView中實現節點的搜索功能,可以使用遞歸遍歷TreeView節點的方法來查找節點。以下是一個簡單的示例代碼:
private TreeNode FindNode(TreeNodeCollection nodes, string searchKeyword)
{
foreach (TreeNode node in nodes)
{
if (node.Text.ToLower().Contains(searchKeyword.ToLower()))
{
return node;
}
TreeNode foundNode = FindNode(node.Nodes, searchKeyword);
if (foundNode != null)
{
return foundNode;
}
}
return null;
}
private void btnSearch_Click(object sender, EventArgs e)
{
string searchKeyword = txtSearch.Text;
TreeNode foundNode = FindNode(treeView1.Nodes, searchKeyword);
if (foundNode != null)
{
treeView1.SelectedNode = foundNode;
foundNode.Expand();
}
else
{
MessageBox.Show("Node not found.");
}
}
在上面的示例中,FindNode
方法用于遞歸遍歷TreeView節點,查找包含指定關鍵字的節點。然后在搜索按鈕的Click事件中調用FindNode
方法,并將找到的節點設置為TreeView的選中節點,并展開該節點。如果未找到節點,則顯示消息框提示用戶。
你可以根據實際需求對搜索功能進行進一步擴展,例如添加搜索結果的高亮顯示等功能。