Pourquoi n'est-il pas SelectedNodeChanged événement pour Windows.Les formulaires.TreeView?
Le Système.Web.L'INTERFACE utilisateur.Contrôles webcontrols.TreeView classe offre à cet événement, mais les Formes de la version de TreeView ne l'est pas. Ce qui est l'équivalent dans les Formes du monde? Je suis en utilisant AfterSelect mais il ne semble pas tout à fait droit. Peut-être que c'est en fait ce que je cherche mais la documentation est un peu floue.
Vous devez vous connecter pour publier un commentaire.
Il n'y a aucun WinForms TreeView. Pour citer MSDN pour TreeView.AfterSelect:
Oui, ça craint.
AfterSelect
événement en sélectionnant un autre nœud.Sorted
propriété de laTreeView
àTrue
désélectionner laSelectedNode
. Si vous avez besoin de cela, vous pouvez le mettre dans le constructeur et non pas dans leLoad
événement, comme il peut désélectionner le nœud que vous avez déjà sélectionné par programme à l'avance.Il n'y a rien de mal à utiliser le
AfterSelect
.Cependant, notez qu'il ne se déclenche pas si la sélection est désactivée (si
SelectedNode
devientnull
) au Lieu de cela, vous pouvez gérerMouseUp
, comme recommandé dans le la documentation.MouseUp
l'arborescence duSelectedNode
propriété n'a pas encore été mis à jour.OK, c'est un OOOLD question, mais le problème qui m'a vraiment ennuyé.
J'ai réalisé ce petit de la classe helper -- cela fonctionne pour moi.
Peut ajouter d'autres facteurs, par exemple le Contrôle.Entrez, MouseUp, etc. etc.
Puis
Il n'y a aucun WinForms TreeView. Pour citer MSDN pour TreeView.AfterSelect:
Vous feriez mieux d'utiliser TreeView.NodeMouseClick événement combiné avec AfterSelect. AfterSelect n'est pas appelé lorsque vous sélectionnez précédemment sélectionné SelectedNode. Donc appelez simplement AfterSelect lorsque nécessaire, l'e.Nœud vous aide.