Événements ComboBox: SelectedIndexChanged vs. SelectedValueChanged
Dans le contexte d'une liaison de données ComboBox
dont ValueMember
et DisplayMember
propriétés sont configurés de façon appropriée:
Est-il une différence entre le SelectedIndexChanged
et la SelecetedValueChanged
événements? Sont-ils déclenchés simultanément lorsqu'un élément est sélectionné dans la liste déroulante de la ComboBox
?
source d'informationauteur kodkod | 2011-01-27
Vous devez vous connecter pour publier un commentaire.
Bien, tout simplement parce que votre indice de changements ne signifient pas nécessairement que votre valeur doit changer.
Ce peut aussi ne pas être le plus réaliste du scénario parce que la conception-sage cette mise en œuvre serait mauvais.
Disons que vous êtes l'affichage d'un
ComboBox
où vous affichez les parties du corps. Cependant, vous pouvez être de l'exportation ou de stockage de ces informations dans un format mappés à des valeurs entières. Par conséquent, votreComboBox
peut afficher "Bras Gauche" et "Bras Droit" qui sont mappés à une valeur de 5, qui définit (5 = la partie Supérieure du Corps) dans sa cartographie. Ensuite, si l'utilisateur a basculé "Bras Droit" de "Bras Gauche" il n'y a pas de changement de valeur; cependant, leSelectedIndex
a changé.Donc je suppose que c'est une base de cas par cas, mais ces événements n'aurait certainement fonctionnent différemment selon le cas.
La différence est que SelectedItemChange sera -1 si vous modifiez la zone de liste déroulante ea sa ne fait pas partie des valeurs indexées. Cependant dès que vous commencez à taper dans la zone de liste déroulante, cela va déclencher événement de changement de valeur.
ea vous pouvez utiliser de changement de valeur pour déclencher des événements que de reformater la saisie de texte dans un domainupdown de contrôle. Et si quelqu'un modifie une domainupdown de contrôle et il devient de -1 vous pourriez recueillir de nouveaux éléments à sa liste (par pression de touche et à l'aide de domainupdown.texte de la propriété.