Comment puis-je rendre un ComboBox non modifiable in.NET Je ne sais pas.

je veux avoir un" select-only " ComboBox qui fournit une liste d'articles pour l'utilisateur à choisir. Tapant doit être désactivé dans la partie texte de la ComboBox .

ma première recherche sur Google a révélé une suggestion trop complexe et malavisée pour capturer l'événement KeyPress .

184
demandé sur Peter Mortensen 2008-09-17 21:37:52

5 réponses

pour rendre la partie texte D'un ComboBox non modifiable, définissez la propriété DropDownStyle à"DropDownList". Le ComboBox est maintenant essentiellement select-seulement pour l'utilisateur. Vous pouvez le faire dans le concepteur de studio visuel, ou dans C # comme ceci:

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

lien vers la documentation de ComboBox DropDownStyle property sur MSDN.

343
répondu Cory Engebretson 2012-06-08 12:15:14

pour ajouter une référence visuelle GUI Studio, vous pouvez trouver les options DropDownStyle sous les propriétés du ComboBox sélectionné:

enter image description here

qui ajoutera automatiquement la ligne mentionnée dans la première réponse au formulaire.Designer.cs InitializeComponent() , comme ainsi:

this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
56
répondu invertigo 2014-09-23 21:44:09

restez sur votre ComboBox et recherchez la propriété DropDropStyle dans la fenêtre des propriétés, puis choisissez DropDownList .

27
répondu LZara 2016-03-15 17:51:05

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

2
répondu Abhishek Jaiswal 2016-03-03 08:33:32

pour continuer à afficher des données dans l'ENTRÉE après avoir sélectionné, faites le:

VB.NET
Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress
    e.Handled = True
End Sub



C#
Private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    e.Handled = true;
}
1
répondu Diogo Rodrigues 2017-01-16 13:58:07