Tengo un formulario con 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. Lamentablemente, cuando cargo el formulario (antes de hacer una selección en el cuadro combinado), SelectedIndexChanged
de los combobox se activa (creo que cuando el cuadro combinado es databinding
). ¿Hay alguna manera de evitar tal comportamiento?Detener el evento selectedIndexChanged de comboBox de la activación cuando el formulario carga
Respuesta
Si desea reaccionar sólo cuando el usuario cambia el elemento seleccionado en el cuadro combinado, entonces es mejor para suscribirse a SelectionChangeCommitted.
¿Pero qué hacer en caso de autocompetar? –
@Arijit Mukherjee derecha. Al escribir un valor en el cuadro de texto en lugar de seleccionar directamente. No desencadenará el evento SelectionChangeCommitted – thoitbk
Maldita sea, he estado buscando en la web durante bastante tiempo para encontrar una solución sencilla como esta. He estado usando el evento SelectionChanged y funcionó en VB.Net - WPF y ahora lo usa en C# - WinForms y no funciona o tal vez soy solo yo. ¡Gracias! – Stephan
Simplemente puede desvincular el evento SelectedIndexChanged
, llame a su función fill
y vuelva a enlazar el evento SelectedIndexChanged
. Desafortunadamente, esto no funciona con una grilla.
Por ejemplo:
¿Por qué no tener un indicador boolean
que indica cuándo ha terminado de cargarse su Form
?
En su evento SelectionChanged
, compruebe si la marca boolean
es true
. Si es true
, maneje el evento; de lo contrario, ignórelo.
booooooolean .. SelectionChangeCommitted mucho mejor – ppumkin
Ya existe un indicador booleano 'Control.Created' indicándole que el formulario ha terminado de cargarse, lo que también es válido para los formularios. – user1734987
La variación 'ToolStripComboBox' no tiene un evento' SelectionChangeCommitted'. Por lo tanto, este método tendrá que hacer. O bien, para evitar condiciones de carrera, use 'lock' y' Monitor.TryEnter'. – spoulson
Asegúrese de establecer la propiedad DataSource
en su función después de asignar las propiedades ValueMember
y Datamember
.
¡Esto lo ayudará a resolver su problema!
Agregue más información que elabore su pensamiento. – Lenin
@Ranjith: ¿puedes dar más detalles? –
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
Se trabajó para mí de una manera con el siguiente código:
private void ddlChapter_SelectionChangeCommitted(object sender, EventArgs e)
{
if (ddlChapter.SelectedValue != null)
{
// Do something here
}
}
SelectionChangeCommitted se detendrá para llamar a los elementos de cambio de índice, una vez que todos los elementos cargados en Dropbox, a continuación, puede seleccionar uno por uno solamente, también aumentará la velocidad de carga. –
- 1. .NET WinForms ComboBox, elementos idénticos y el evento SelectedIndexChanged
- 2. Diferencia entre Evento de carga, Evento de activación e Intro evento en el Formulario
- 3. Evento ComboBox SelectedIndexChanged: cómo obtener el índice previamente seleccionado?
- 4. Activación de evento SelectedValueChange() durante la carga de formulario en una aplicación de Windows Form
- 5. eventos ComboBox: SelectedIndexChanged vs SelectedValueChanged
- 6. Valor seleccionado de la lista desplegable en el evento Selectedindexchanged
- 7. Modificación de SelectedIndex de ComboBox sin evento desencadenante en C#
- 8. ASP.Net AJAX UpdatePanel no puede desencadenar el evento SelectedIndexChanged
- 9. Desea activar el evento desplegable SelectedIndexChanged en Javascript
- 10. Prevenir el clic desde el evento de activación del elemento principal de activación infantil
- 11. La selección de cuadro combinado cambió el evento sin cambiar la selección en el ComboBox
- 12. Detener el evento de depuración en C#
- 13. ¿Cómo detener el evento NStimer?
- 14. Activación de validación en la página Carga
- 15. WinForms ComboBox SelectedIndexChanged no disparar al escribir algunos caracteres seguido de Alt + Abajo
- 16. Cualquier evento javascript que ocurra cuando el usuario haga clic en ¿Parar botón de carga?
- 17. ¿Cómo detener el envío del formulario?
- 18. Activación de un evento en el en Backbone View
- 19. Detener evento de pulsación de tecla
- 20. evento de activación del teclado en una ventana de tinymce
- 21. Secuencia de activación de evento para un botón de envío
- 22. Cómo detener la visualización automática del teclado digital cuando se cambia el foco (evento OnStart)
- 23. Eventos de red troncal en el modelo de activación en la recopilación (doble activación)
- 24. ListView SelectedIndexChanged Evento no Problemas de elementos seleccionados
- 25. Controlador de eventos SelectedIndexChanged obteniendo el índice anterior
- 26. Evento SelectedIndexChanged de DropDownList que no se activa
- 27. Detener iframe desde la carga
- 28. Excel VBA: Guardar como activa el evento Cambiar en ComboBox
- 29. ¿Qué código de configuración debería ir en Constructores de formulario frente a evento Carga de formulario?
- 30. Cerrar un formulario desde el controlador de carga
No estoy seguro sobre el escritorio, pero en .NET Compact, este evento aparece realmente al fuego antes el evento Form_Load, que es realmente problemático: ni siquiera se ha configurado nada en el formulario cuando se aplica este código. En CF, desafortunadamente, la solución es una variable de forma que se establece al final de Load, y luego el controlador de eventos busca esta variable antes de que se active. – SqlRyan