要在 C# 的 TreeView 控件中根据 TextBox 的值进行模糊查找,可以使用递归的方式遍历 TreeView 的节点,并与 TextBox 的值进行比较。\n\n以下是一个示例代码:\n\ncsharp\nprivate void SearchNodes()\n{\n if (string.IsNullOrEmpty(textBox5.Text))\n {\n // 如果 TextBox 的值为空,则不执行查找\n return;\n }\n\n // 清除之前的选中状态\n treeView1.SelectedNode = null;\n\n // 调用递归方法遍历节点\n foreach (TreeNode node in treeView1.Nodes)\n {\n SearchNodesRecursive(node);\n }\n}\n\nprivate void SearchNodesRecursive(TreeNode parentNode)\n{\n foreach (TreeNode childNode in parentNode.Nodes)\n {\n // 判断节点的文本是否包含 TextBox 的值\n if (childNode.Text.Contains(textBox5.Text))\n {\n // 设置找到的节点为选中状态\n treeView1.SelectedNode = childNode;\n // 展开节点\n parentNode.Expand();\n return;\n }\n\n // 递归调用\n SearchNodesRecursive(childNode);\n }\n}\n\n// 在 TextBox 的 TextChanged 事件中调用查找方法\nprivate void textBox5_TextChanged(object sender, EventArgs e)\n{\n SearchNodes();\n}\n\n\n在上述代码中,首先定义了一个 SearchNodes 方法,该方法会在 TextBox 的 TextChanged 事件中被调用。该方法首先判断 TextBox 的值是否为空,如果为空则不执行查找。然后通过递归方法 SearchNodesRecursive 遍历 TreeView 的节点。\n\nSearchNodesRecursive 方法会遍历传入的节点的所有子节点,并判断节点的文本是否包含 TextBox 的值。如果找到匹配的节点,则设置该节点为选中状态,并展开其父节点,然后结束查找。\n\n最后,在 TextBox 的 TextChanged 事件中调用 SearchNodes 方法,实现模糊查找的功能。

C# TreeView 模糊查找 - 使用 TextBox 筛选节点

原文地址: http://www.cveoy.top/t/topic/qaqn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录