web-dev-qa-db-fra.com

Comment sélectionner un nœud de treeview par programme en c #?

Utilisez treeview.SelectedNode pour sélectionner un nœud enfant. Comment appeler l'événement treeview.AfterSelect lorsqu'un nœud est sélectionné par programme?

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"); 
}
25
user186246

Toutes mes excuses pour ma réponse précédemment mélangée.

Voici comment faire:

myTreeView.SelectedNode = myTreeNode;

(Mettre à jour)

J'ai testé le code ci-dessous et cela fonctionne:

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());
    }


}
36
Aliostad

Appelez la méthode TreeView.OnAfterSelect() protected après avoir sélectionné le noeud par programme.

1
Liviu M.
treeViewMain.SelectedNode = treeViewMain.Nodes.Find(searchNode, true)[0];

où searchNode est le nom du nœud . J'utilise personnellement un combo "Node + Panel" où nom du nœud est Node + et la même balise est également définie sur le panneau de choix . Avec cette commande + scan des panneaux par balise, je suis généralement capable de travailler avec un ensemble complet de menus arborescence + panneaux. 

0
Daniele Pistollato

yourNode.Toggle(); // utilise cette fonction sur votre noeud, elle bascule

0
Siim Nelis