it-swarm-eu.dev

Wie kann ich eine ComboBox in .NET nicht editierbar machen?

Ich möchte ein "Nur auswählen" ComboBox haben, das dem Benutzer eine Liste mit Elementen zur Auswahl bereitstellt. Die Eingabe sollte im Textteil des Steuerelements ComboBox deaktiviert sein.

Mein anfängliches googeln ergab einen übermäßig komplexen, fehlgeleiteten Vorschlag, das KeyPress -Ereignis zu erfassen.

194

Legen Sie die DropDownStyle-Eigenschaft auf "DropDownList" fest, um den Textteil einer ComboBox nicht bearbeitbar zu machen. Die ComboBox ist jetzt im Wesentlichen nur für den Benutzer auswählbar. Sie können dies im Visual Studio-Designer oder in C # folgendermaßen tun:

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

Link zur Dokumentation für die ComboBox DropDownStyle-Eigenschaft auf MSDN.

360

Um eine Visual Studio-GUI-Referenz hinzuzufügen, finden Sie die DropDownStyle -Optionen unter den Eigenschaften der ausgewählten ComboBox:

enter image description here

Wodurch die in der ersten Antwort erwähnte Zeile automatisch in Form.Designer.cs InitializeComponent() eingefügt wird:

this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
62
invertigo

Bleiben Sie auf Ihrer ComboBox und suchen Sie die DropDropStyle-Eigenschaft im Eigenschaftenfenster und wählen Sie dann DropDownList.

30
LZara

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

2

Gehen Sie wie folgt vor, um nach der Auswahl weiterhin Daten in der Eingabe anzuzeigen:

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
Diogo Rodrigues