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");
}
Toutes mes excuses pour ma réponse précédemment mélangée.
Voici comment faire:
myTreeView.SelectedNode = myTreeNode;
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());
}
}
Appelez la méthode TreeView.OnAfterSelect()
protected après avoir sélectionné le noeud par programme.
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.
yourNode.Toggle();
// utilise cette fonction sur votre noeud, elle bascule