Lorsque mon formulaire est chargé, avant que le composant ComboBox ait été rempli et sélectionné, cet événement (SelectedIndexChanged) est déclenché. Comment puis-je empêcher le code à l'intérieur de cet événement d'être exécuté avant que le formulaire ne soit complètement chargé? J'ai essayé des tests pour .SelectedIndex mais il renvoie 0.vb.net/winform - ComboBox SelectedIndexChanged?
Répondre
Do me.Validate.children a fait un travail
ce qui se passe parce que vous ajoutez des articles à votre combobox au démarrage, il sélectionne automatiquement la première dans la liste que la valeur à afficher (combobox comportement par défaut). Cette sélection par défaut du premier élément provoque le déclenchement du gestionnaire selectedindexchanged et l'exécution de votre routine.
Ce que vous devez faire est d'utiliser addhandler et removehandler.
Par exemple:
votre index de routine a changé combobox est appelé "indexchangedroutine" et votre combobox est appelé "MyComboBox".
Au démarrage:
addhandler mycombobox.selectedindexchanged, addressof indexchangedroutine
la partie AddressOf est le nom de la routine que vous voulez quand appelé événement se déclenche de ce contrôle.
Pour éviter que la routine ne se déclenche au démarrage, vous devez d'abord remplir les éléments de la liste déroulante et le second module d'ajout d'appel pour lier l'événement et la logique. En cas de besoin de faire une mise à jour (comme une minuterie de mise à jour), vous pouvez appeler removehandler au lieu de addhandler et il va dissocier le lien entre la logique et l'événement du contrôle. Vous pouvez faire votre mise à jour et quand vous avez terminé, on peut encore appeler addhandler pour les relier pour une utilisation ultérieure.
J'espère que cela vous aide. Il peut sembler qu'il y a plus de code impliqué, mais cette méthode évite d'utiliser des corrections hacky comme des drapeaux "été ici" dans votre routine selectedindexchanged.
- 1. combobox/SelectedIndexChanged avec SQL
- 2. Comment utiliser SelectedIndexChanged-Event de ComboBox
- 3. Événement SelectedIndexChanged de Combobox créé dynamiquement
- 4. Evénement ComboBox SelectedIndexChanged: comment obtenir l'index précédemment sélectionné?
- 5. Préoccupé par selectedindexchanged de dropdownlist
- 6. ListView selectedindexchanged
- 7. Listview SelectedIndexChanged problème
- 8. Ne pas attraper SelectedIndexChanged
- 9. SelectedIndexChanged Comment ça marche
- 10. C# délégué eventhandler SelectedIndexChanged
- 11. control.focus() après selectedIndexChanged
- 12. DropDownList n'appelle pas SelectedIndexChanged?
- 13. SelectedIndexChanged déclenché non cohérent
- 14. C# Liaison de données Appel SelectedIndexChanged
- 15. Windows Form ComboBox déclenche l'événement SelectionChangeCommitted, SelectedValueChanged et SelectedIndexChanged lorsque l'application perd le focus
- 16. Comment ajouter des éléments (texte et valeur) à ComboBox et les lire dans SelectedIndexChanged (SelectedValue = null)
- 17. Trigger updatePanel avec radiobutton SelectedIndexChanged
- 18. ASP.NET MVC 3 DropDownList selectedindexchanged
- 19. selectedindexchanged on gridview créé dynamiquement
- 20. Surcharger les événements combobox
- 21. SelectedIndexChanged ne se déclenche pas dans asp.net usercontrol
- 22. Combobox dans un DataItemTemplate
- 23. Contrôle C# .NET ComboBox
- 24. Gridview FindControl à l'intérieur de l'événement SelectedIndexChanged
- 25. DropDownList ne publie pas sur SelectedIndexChanged
- 26. Le gestionnaire d'événements SelectedIndexChanged récupère l'ancien index
- 27. L'élément dans RadioButtonList ne déclenche pas SelectedIndexChanged
- 28. ASP.NET imbriqué DropDownList SelectedIndexChanged Non Firing
- 29. L'événement SelectedIndexChanged sans autopostback est vrai
- 30. RadioButtonList non déclenché ne déclenche pas SelectedIndexChanged
Si SelectedIndex est 0 et non -1, un élément * a * été sélectionné. Par votre code, regardez la trace de la pile. –