Je souhaite créer un ComboBox
où l'utilisateur peut saisir une valeur entière dans la zone de texte, mais la liste déroulante contient plusieurs valeurs "par défaut". Par exemple, les éléments dans la liste déroulante seraient formatés comme ceci:Sélectionnez un élément dans une liste déroulante et définissez le texte de la liste déroulante sur un autre élément?
- Par défaut - 0
- Valeur 1 - 1
- Valeur 2 - 2
Ce que je veux que lorsque l'utilisateur sélectionne un élément (par exemple "Default - 0"), le texte ComboBox
affichera uniquement le nombre "0" plutôt que "Default - 0". Le mot "Default" est juste un texte d'information.
Je joue avec les événements suivants: SelectedIndexChanged
, SelectedValueChanged
et SelectionChangeCommitted
, mais je ne pouvais pas changer le texte de la ComboBox
.
private void ModificationCombobox_SelectionChangeCommitted(object sender, EventArgs e)
{
ComboBox comboBox = (ComboBox)sender; // That cast must not fail.
if (comboBox.SelectedIndex != -1)
{
comboBox.Text = this.values[comboBox.SelectedItem.ToString()].ToString(); // Text is not updated after...
}
}
Merci, fonctionne parfaitement avec votre concept! (J'ai modifié votre code pour ajouter le stockage et la restauration de l'élément selectedIndex afin de conserver la modification) –