Il s'agit d'une restriction courante dans les classes wrapper qui enveloppent les contrôles Windows natifs. Qui ne génèrent que des notifications pour des choses que vous ne pouvez pas connaître. Comme tout ce que l'utilisateur peut faire qui affecte le contrôle. Il omet les notifications pour les choses que vous faire, avec la philosophie sous-jacente que vous n'avez pas à vous souvenir de quelque chose que vous connaissez déjà.
Ce qui est certainement le cas pour TreeView, l'utilisateur ne peut pas ajouter de nœuds. Seulement vous pouvez. Même chose pour le texte affiché dans les nœuds. Aucun événement pour vous dire que le texte a changé. Sauf dans le cas très particulier où l'utilisateur édite le noeud, événement AfterLabelEdit.
Vous pouvez dériver votre propre classe à partir de TreeView et ajouter un événement Change et une méthode OnChange() qui le déclenche. C'est à vous d'écrire le code pour appeler la méthode. Prenez garde que cela soit difficile à faire de manière fiable, la classe TreeNodeCollection n'a pas de méthodes virtuelles, donc vous ne pouvez pas les surcharger pour détecter les nœuds changeant de code client. Il vaut mieux ne pas écrire ce code et simplement générer un événement interne dans le formulaire dans toute méthode qui modifie le contenu de TreeView.
Avez-vous regardé l'événement 'SelectedNodeChanged'? – Kane
@Kane, c'est pour le contrôle d'arbre ASP.NET, pas celui de Windows Forms. digitalanalog, quel genre de changement cherchez-vous? Changement de sélection? Changement d'étiquette d'article? Autre chose? –
@ FrédéricHamidi merci de venir chercher sur doh! moment pour aujourd'hui. Il y a beaucoup d'événements 'BeforeXXX' et' AfterXXX' à choisir dont vous avez besoin? – Kane