在Windows应用程序中以编程方式选择树视图中的节点

本文关键字:视图 节点 选择 编程 Windows 应用程序 方式 | 更新日期: 2023-09-27 18:10:57

我加载了一个树视图。我想遍历树视图节点并扩展&选择一个节点。Expand运行良好。但是选择的节点不工作

private void Traverse(TreeNodeCollection nodes, string findtext) 
        {
          foreach (TreeNode node in nodes) 
            {
                if (node.Text.ToString().Trim() == findtext)
                {
                    node.Expand();
                    node.TreeView.SelectedNode = node.NextNode;                    
                    //tvwStructureTree.SelectedNode = this.tvwStructureTree.Nodes[node.Index];
//Select a node in Treeview tvwStructureTree But not working
                    tvwStructureTree.SelectedNode = node; 
                    node.TreeView.Focus(); 
                }
                Traverse(node.Nodes, findtext); 
            } 
        }

它在windows应用程序中。

在Windows应用程序中以编程方式选择树视图中的节点

不太确定你的问题是什么。树状视图。SelectedNode属性是正确的属性。

设置此属性时,将滚动到视图中指定的节点并且展开任何父节点,以便指定节点为可见。

当父节点或所选节点的任何祖先节点为以编程方式或通过用户操作折叠折叠的节点成为选中的节点。

确保node.TreeView是正确的TreeView实例。

node.TreeView.SelectedNode = node.NextNode;  

树状视图。hidesselection属性是另一个可能对你有用的属性。

当此属性设置为false时,选中TreeView中的节点控件以不同于当前的颜色高亮显示当TreeView控件失去焦点时选择颜色。你可以用此属性可使用户选择的项在用户单击窗体上的其他控件或移动到不同的窗口。

我也遇到过类似的问题。我的表单的actor被赋予一个要选择的节点的测试。找到正确的节点不是问题,但是树没有显示选中的节点,因为树控件没有焦点。只需要在设置myTreecontrol.SelectedNode之前使用Form.ActiveControl = myTreecontrol;

我完全测试了你自己的代码,工作良好,既找到并选择节点!没有任何特定的属性设置为我的树视图!顺便说一下,我使用的是。net 3.5和VS 2008