J'essaie d'appeler une fonction après un clic sur un bouton uniquement si l'un des nœuds est sélectionné. La boucle foreach
réitère uniquement le nœud racine en évitant tous les enfants. Notez que je dois appeler ceci dans la fonction de clic de bouton. Donc ce sera génial si j'obtiens les deux réponses (écrire une fonction séparée et l'appeler dans la fonction button_click ou écrire directement dans la fonction button_click). La fonction ReadData
fonctionne correctement. Le seul problème est l'absence d'itération de tous les nœuds.Impossible d'itérer l'arborescence avec tous les enfants C#
private void button1_Click(object sender, EventArgs e)
{
Form2 t = new Form2();
TreeNodeCollection node = this.treeView1.Nodes;
foreach(TreeNode tn in node)
{
if(tn.IsSelected)
{
//This is the function I need to call from form2.
t.ReadData(null);
}
}
t.Show();
}
Y at-il une raison de ne pas utiliser la propriété 'SelectedNode'? –
[propriété TreeView.Nodes] (https://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.nodes (v = vs.110) .aspx) "La propriété Nodes contient une collection des objets TreeNode, chacun ayant une propriété Nodes pouvant contenir son propre TreeNodeCollection. " –