winforms - net - selectedindexchanged visual basic




Detener el evento selectedIndexChanged de comboBox de que se active cuando se carga el formulario (4)

Tengo un formulario con un ComboBox que proporciona una lista desplegable. En el SelectedIndexChanged event de comboBox, estoy ejecutando algún código, pero no quiero que ese código se ejecute cuando se carga el formulario. Desafortunadamente, cuando cargo el formulario (antes de hacer una selección en el cuadro combinado), se activa SelectedIndexChanged del combobox (creo que cuando el cuadro combinado está databinding ). ¿Hay alguna manera de evitar tal comportamiento?


¿Por qué no tener un indicador boolean que indique cuándo se ha terminado de cargar su Form ?

En su evento SelectionChanged , verifique si el indicador boolean es true . Si es true , maneje el evento, de lo contrario ignórelo.


Asegúrese de establecer la propiedad DataSource en su función onload() después de asignar las propiedades ValueMember y Datamember .

¡Esto te ayudará a resolver tu problema!


Si desea reaccionar solo cuando el usuario cambia el elemento seleccionado en el cuadro combinado, entonces es mejor suscribirse a SelectionChangeCommitted .


Simplemente puede desvincular el evento SelectedIndexChanged , llamar a su función de fill y enlazar el evento SelectedIndexChanged nuevamente. Desafortunadamente, esto no funciona con una grilla.

Por ejemplo:

this.cmb.SelectionChanged -= new System.EventHandler(this.cmb_SelectionChanged);
cmb.fill(); //Your function
this.cmb.SelectionChanged += new System.EventHandler(this.cmb_SelectionChanged);






combobox