gpt4 book ai didi

c# - 如何在 TreeView 中搜索 child 点头

转载 作者:行者123 更新时间:2023-12-02 22:18:13 24 4
gpt4 key购买 nike

我是这样尝试的,

private void btnFind_Click(object sender, EventArgs 
{
for (int i = 0; i < treeView1.Nodes.Count - 1; i++)
{
MessageBox.Show(i.ToString());
treeView1.Nodes[i].BackColor = Color.Empty;
}
var result = from TreeNode node in treeView1.Nodes
where node.Text.Contains( Convert.ToString(txtFind.Text))
select node.Index;

foreach (int search in result)
{
treeView1.Nodes[search].BackColor = Color.Yellow;
}
}

但是这样我只能找到父节点。有没有正确的方法来做到这一点

最佳答案

您可以使用一种方法来处理 TreeView,然后使用另一种方法递归调用子节点。这将加载 _matchingNodes,其中包含与您的文本匹配的所有节点。

Private List<TreeNode> _matchingNodes; 

// Process the TreeView.
private void ProcessTreeView(TreeView treeView, String FindText)
{
_matchingNodes = new List<TreeNode>();

// Process each node recursively.
foreach (TreeNode n in treeView.Nodes)
{
if(n.Text.Contains(FindText))
_matchingNodes.Add(n);

ProcessRecursive(n, FindText);
}

}

private void ProcessRecursive(TreeNode treeNode, String FindText)
{

// Process each node recursively.
foreach (TreeNode n in treeNode.Nodes)
{
if(n.Text.Contains(FindText))
_matchingNodes.Add(n);

ProcessRecursive(n, FindText);
}
}

关于c# - 如何在 TreeView 中搜索 child 点头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14108067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com