C# TreeView 查找包含指定文本的节点 - 代码示例
{"title":"C# TreeView 查找包含指定文本的节点 - 代码示例","description":"使用C#代码实现TreeView控件中查找包含指定文本的节点,并通过弹窗提示用户查找结果。本文提供详细代码示例,并解释代码逻辑。","keywords":"C# TreeView, 查找节点, 包含文本, 递归搜索, 代码示例, 弹窗提示","content":"您可以使用以下代码来实现您的需求:\n\ncsharp\nprivate void btnSearch_Click(object sender, EventArgs e)\n{\n string searchText = textBox3.Text;\n\n // 遍历treeview1中的所有节点\n foreach (TreeNode node in treeView1.Nodes)\n {\n // 在当前节点及其子节点中查找包含搜索文本的节点\n TreeNode foundNode = FindNodeContainsText(node, searchText);\n if (foundNode != null)\n {\n // 选中找到的节点\n treeView1.SelectedNode = foundNode;\n // 展开找到的节点的父节点\n foundNode.Parent.Expand();\n // 弹窗通知用户\n MessageBox.Show("找到匹配的节点,请点击按钮查找下一个节点。");\n return;\n }\n }\n\n // 没有找到匹配的节点\n MessageBox.Show("没有找到匹配的节点。");\n}\n\nprivate TreeNode FindNodeContainsText(TreeNode node, string searchText)\n{\n // 判断当前节点是否包含搜索文本\n if (node.Text.Contains(searchText))\n {\n return node;\n }\n\n // 遍历当前节点的子节点\n foreach (TreeNode childNode in node.Nodes)\n {\n // 递归调用查找方法\n TreeNode foundNode = FindNodeContainsText(childNode, searchText);\n if (foundNode != null)\n {\n return foundNode;\n }\n }\n\n return null;\n}\n\n\n在上述代码中,我们使用FindNodeContainsText方法来递归搜索包含搜索文本的节点。在btnSearch_Click事件处理程序中,我们遍历treeview1中的所有节点,并在每个节点及其子节点中查找包含搜索文本的节点。如果找到匹配的节点,我们将其选中并展开其父节点,并通过弹窗通知用户。如果遍历完所有节点后仍然没有找到匹配的节点,我们也会通过弹窗通知用户。
原文地址: https://www.cveoy.top/t/topic/qalW 著作权归作者所有。请勿转载和采集!