winforms - visual - selectedindexchanged vb net combobox
Detener el evento selectedIndexChanged de comboBox de que se active cuando se carga el formulario (6)
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!
Me funcionó de alguna manera con el siguiente código:
private void ddlChapter_SelectionChangeCommitted(object sender, EventArgs e)
{
if (ddlChapter.SelectedValue != null)
{
// Do something here
}
}
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);
VB
RemoveHandler lbxNomes.SelectedIndexChanged, AddressOf lbxNomes_SelectedIndexChanged
lbxNomes.DataSource = dst
Label1.Text = String.Format("Encontrados {0} Sócios nesta pesquisa", dst.Rows.Count)
Label1.Visible = True
AddHandler lbxNomes.SelectedIndexChanged, AddressOf lbxNomes_SelectedIndexChanged