Bonjour,
Je souhaite assigner monTreeview.SelectedNode sans que cela ne me déclenche son évennement AfterSelect(), comment faire ?
NB : C'est même problème avec maListe.SelectedIndex et SelectedIndexChange() etc...
D'avance merci.
Bonjour,
Je souhaite assigner monTreeview.SelectedNode sans que cela ne me déclenche son évennement AfterSelect(), comment faire ?
NB : C'est même problème avec maListe.SelectedIndex et SelectedIndexChange() etc...
D'avance merci.
Salut,
Essaie de désinscrire ton event avant de réaffecter ton SelectedNode, puis de le réactiver juste après.
Donc :
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 MonTreeView.AfterSelect -= new System.Windows.Forms.TreeViewEventHandler(this.MaProcedureTreeViewAfterSelect); MonTreeView.SelectedNode = ....; MonTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.MaProcedureTreeViewAfterSelect);
ca marche, mais bon j'aurais aimé qu'ils aient prévu quelque chose de plus propre, du style :
Tu sais si c'est prévu dans .NEt 2.0 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 monTreeView.DisableEvents(); monTreeView.SelectedNode = ; monTreeView.EnableEvents();
Pourquoi ne pas mettre un boolean que tu mets a true/false tout simplement?
Ainsi l'execution passe dans la procedure de l'evenement, effectuant ou non le code qui s'y trouve
j'avais fait quelque chose dans le genre (en fait en utilisant la propriété TAG), mais dans le cas où il y a plein de composants entrant en ligne de jeux, des précédences dans les évennements etc..., ca devient trop vite ingérables. Et je cherchais une solution qui empèche l'évennement de se déclencher, plutot que de le laisser se déclencher et de le traiter (une sorte de BeginUpdate(), EndUpdate() pour les évennements)
Partager