Comment éviter la saisie manuelle des données dans une zone de liste déroulante en C#
J'ai un formulaire en C# qui utilise un ComboBox
.
Comment puis-je empêcher un utilisateur de la saisie manuelle de texte dans le ComboBox
en C#?
this.comboBoxType.Font = new System.Drawing.Font("Arial", 15.75F);
this.comboBoxType.FormattingEnabled = true;
this.comboBoxType.Items.AddRange(new object[] {
"a",
"b",
"c"});
this.comboBoxType.Location = new System.Drawing.Point(742, 364);
this.comboBoxType.Name = "comboBoxType";
this.comboBoxType.Size = new System.Drawing.Size(89, 32);
this.comboBoxType.TabIndex = 57;
Je veux A B C d'être les seules options.
Vous devez vous connecter pour publier un commentaire.
Il suffit de régler votre combo comme un DropDownList:
Je crois que vous voulez définir le DropDownStyle DropDownList.
Vous pouvez ajouter
e.Handled = true
dans votre événement KeyPress:À partir de la fenêtre propriétés pour le contrôle, faire le DropDownStyle l'égalité des DropDownList.
Pourquoi utiliser la zone de liste déroulante, puis?
C# a un contrôle appelé Listbox. Techniquement, une zone de liste déroulante de la différence sur une Listbox est qu'une zone de liste déroulante peut recevoir en entrée, donc, si ce n'est pas le contrôle dont vous avez besoin, alors je vous suggère d'utiliser
ListBox
Listbox guide de Consommation de ici: C# ListBox
Juste de définir la propriété DropDownStyle DropDownList Regardez cette photo Exemple
Je tiens à garder la possibilité de l'insérer manuellement des choses, mais de limiter les éléments sélectionnés dans la liste.
Je voudrais ajouter cet événement à la zone de liste déroulante. Tant que vous obtenez le SelectedItem et pas le Texte, vous obtenez le bon éléments prédéfinis; a, b et c.
Cette serrures zone de liste déroulante de la saisie manuelle et affiche uniquement comboboxlist éléments