如何在c#中以编程方式选择treeview节点?

时间:2011-01-17 12:53:44

标签: c# winforms treeview

使用treeview.SelectedNode选择子节点。如何以编程方式选择节点时调用treeview.AfterSelect事件?

this.treeView1.SelectedNode = this.treeView1.Nodes[0].Nodes[0].Nodes[0].Nodes[0]; 
if (this.treeView1.Nodes[0].Nodes[0].Nodes[0].Nodes[0].IsSelected) 
{
 MessageBox.Show("Node is selected"); 
}

6 个答案:

答案 0 :(得分:37)

为我以前混淆的答案道歉。

以下是该怎么做:

myTreeView.SelectedNode = myTreeNode;

(更新)

我已经测试了下面的代码并且它有效:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        treeView1.Nodes.Add("1", "1");
        treeView1.Nodes.Add("2", "2");
        treeView1.Nodes[0].Nodes.Add("1-1", "1-1");
        TreeNode treeNode = treeView1.Nodes[0].Nodes.Add("1-2", "1-3");
        treeView1.SelectedNode = treeNode;
        MessageBox.Show(treeNode.IsSelected.ToString());
    }


}

答案 1 :(得分:1)

以编程方式选择节点后调用TreeView.OnAfterSelect()受保护的方法。

答案 2 :(得分:0)

yourNode.Toggle(); //在您的节点上使用该功能,将其切换

答案 3 :(得分:0)

 @media screen and (max-width: 479px)
.table {
     width: 100%;
}

其中searchNode是节点的名称。 我个人使用的是“节点+面板”组合,其中节点名称为Node +,并且在选择的面板上也设置了相同的标签。 使用此命令+按标签扫描面板,我通常可以使用treeview + panel完整菜单集。

答案 4 :(得分:0)

TreeViewItem tempItem = new TreeViewItem();
TreeViewItem tempItem1 = new TreeViewItem(); 
tempItem =  (TreeViewItem) treeView1.Items.GetItemAt(0);    // Selecting the first of the top level nodes
tempItem1 = (TreeViewItem)tempItem.Items.GetItemAt(0);      // Selecting the first child of the first first level node
SelectedCategoryHeaderString = tempItem.Header.ToString();  // gets the header for the first top level node
SelectedCategoryHeaderString = tempItem1.Header.ToString(); // gets the header for the first child node of the first top level node
tempItem.IsExpanded = true;         //  will expand the first node

答案 5 :(得分:-2)

private void btn_CollapseAllAndExpandFirstLevelUnderRoot(object sender, EventArgs e)

{
    //this example collapses everything, then expands the first level under the root node.

    tv_myTreeView.CollapseAll();
    TreeNode tn =  tv_myTreeView.Nodes[0];
    tn.Expand();
}