Oui, si tu m'envoie-moi un zip avec les fichiers concernés. Car a priori je doute fort que le modèle winForms soit en cause. Je pense plutôt à une maladresse dans ton code. Mais il faut vérifier pour savoir...
Version imprimable
Oui, si tu m'envoie-moi un zip avec les fichiers concernés. Car a priori je doute fort que le modèle winForms soit en cause. Je pense plutôt à une maladresse dans ton code. Mais il faut vérifier pour savoir...
J'ai regardé tes sources et j'avoue que le cas me parait bien spécial... :?
Pour commencer, je pense qu'on peut écarter l'hypothèse du Form mal détruit. Car j'ai créé des abonnements à d'autre événements (clic de bouton :lol: et surtout SelectedIndexChanged d'une liste non liée à la source de donnée) et ceux-ci ne sont pas répétés. ;)
Le problème vient donc de l'utilisation de la source données définie et référencée dans l'UserControl appelant.
Et je précise qu'il n'est pas spécifique à l'événement SelectedIndexChanged car le problème est le même avec par exemple PositionChanged du bindingSource fournit par l'UserControl...
Je me demande ce qui se passe réellement car pour le positionChanged on peut penser qu'un abonnement est ajouté au BindingSource référencé par l'UserControl chaque fois qu'une instance de la popup est initialisée, mais que cet abonnement n'est pas supprimé lors de la destruction de la popup.
Explication logique. Pas de pb.
Sauf que je ne comprnd pas comment le SelectedIndexChanged d'une Combo pourrait faire la même chose ! Manisfestement pourtant c'est le cas.
Pour comprendre ce qu'il se passe il faudrait examiner le code source de la classe ComboBox dans le framework. Mais là je n'ai pas le temps de faire ça, désolé.
Si tu ne veux pas te lancer là dedans et faire simple, je te conseille de créer des sources de données différentes entre ton UserControl et ta popup. Ensuite, tu fais la synchro toi-même en te servant au choix de la position dans liste (peu fiable car cela suppose que les listes sont et restent identiques) ou de la clé primaire de l'item sélectionné.
De toute façon, il vaut mieux gérer toi-même la synchro car j'ai vu que tu proposes l'annulation de la sélection dans popup. Il te suffira quand l'user annule, de ne pas mettre à jour la synchro...
Bonjour,
meilleurs voeux et merci d'avoir pris le temps de regarder mes sources.
Je vais donc faire ce que tu m'as conseillé.
Ca reste assez curieux ce problème de ComboBox. Je vais peut-être laisser un nouveau message. Quelqu'un a peut-être une explication. Je n'ai pas non plus le temps de regarder les sources pour comprendre le fonctionnement du ComboBox.
Encore merci.