2011-01-27 20 views
13

En el contexto de una enlazado a datos ComboBox cuya ValueMember y DisplayMember propiedades se establecen adecuadamente:eventos ComboBox: SelectedIndexChanged vs SelectedValueChanged

¿Hay alguna diferencia entre el SelectedIndexChanged y los SelecetedValueChanged eventos? ¿Se disparan simultáneamente cuando se selecciona un elemento de la lista desplegable del ComboBox?

Respuesta

22

Bueno, solo porque su índice cambie no necesariamente significa que su valor debe cambiar.

Esto también puede no ser el escenario más realista porque el diseño en cuanto a esta implementación sería malo.

Digamos que está mostrando un ComboBox donde está mostrando las partes del cuerpo. Sin embargo, puede estar exportando o almacenando esta información en un formato asignado a valores enteros. Por lo tanto, su ComboBox puede mostrar "Brazo izquierdo" y "Brazo derecho" que están mapeados a un valor de 5, que define (5 = Parte superior del cuerpo) en su mapeo. Entonces, si el usuario cambió "Brazo derecho" a "Brazo izquierdo", no hay cambio de valor; sin embargo, el SelectedIndex ha cambiado.

Supongo que es caso por caso, pero estos eventos seguramente podrían funcionar de manera diferente según el caso.

0

La diferencia es que SelectedItemChange será -1 si edita el combobox ea y no forma parte de los valores indexados. Sin embargo, tan pronto como comience a escribir en el cuadro combinado se activará el evento de cambio de valor.

ea puede utilizar el cambio de valor para disparar los eventos que reformatearán el ingreso de texto en un control de dominación de dominio. Y si alguien edita un control de dominación de dominio y su valor se convierte en -1, puede recopilar nuevos elementos en su lista (presionando un botón y usando la propiedad domainupdown.text.

Cuestiones relacionadas