web-dev-qa-db-fra.com

Comment définir la combobox en lecture seule ou si un utilisateur ne peut pas écrire dans une liste déroulante peut uniquement sélectionner les éléments donnés?

Je rencontre un problème pour définir la propriété de liste déroulante de sorte que seul l'utilisateur puisse sélectionner les valeurs sous forme d'éléments donnés, mais je ne peux pas écrire dans la zone de liste déroulante.

Comment puis-je le faire en C #?

44
Badr

Il suffit de changer le DropDownStyle en DropDownList. Ou si vous voulez qu'il soit entièrement en lecture seule, vous pouvez définir Enabled = false, ou si vous n'aimez pas son apparence, j'ai parfois deux commandes, une zone de texte en lecture seule et une liste déroulante, puis masque la liste déroulante et indique à la zone de texte si elle doit être en lecture seule complète et inversement.

107
Hans Olsson

Je pense que vous souhaitez modifier le paramètre appelé "DropDownStyle" en "DropDownList".

16
Ryan

Dans le gestionnaire d'événement de frappe:

e.Handled = true;
12
Naa3er

Faire du DropDownStyle à DropDownList

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
10
Tijo Tom

La solution consiste à remplacer la propriété DropDownStyle par DropDownList. Ça aidera.

4
scatterbraiin

Essaye ça:

    private void comboBox1_KeyDown(object sender, KeyEventArgs e)
    {
        // comboBox1 is readonly
        e.SuppressKeyPress = true;
    }
3
Frans