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.
Version imprimable
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:
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:
1
2
3 monTreeView.DisableEvents(); monTreeView.SelectedNode = ; monTreeView.EnableEvents();
Aucune idée... :(
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)