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 #?
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.
Je pense que vous souhaitez modifier le paramètre appelé "DropDownStyle" en "DropDownList".
Dans le gestionnaire d'événement de frappe:
e.Handled = true;
Faire du DropDownStyle à DropDownList
stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
La solution consiste à remplacer la propriété DropDownStyle par DropDownList. Ça aidera.
Essaye ça:
private void comboBox1_KeyDown(object sender, KeyEventArgs e)
{
// comboBox1 is readonly
e.SuppressKeyPress = true;
}