Antworten:
Verwenden Sie die ComboStyle-Eigenschaft:
comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
combo.Properties.TextEditStyle = DisableTextEditor
Dies ist eine andere Methode, die ich verwende, weil das Ändern DropDownSyle
in DropDownList
3D aussieht und manchmal einfach nur hässlich ist.
Sie können Benutzereingaben verhindern, indem Sie das KeyPress
Ereignis der ComboBox wie folgt behandeln.
private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Paste
haben. Ich habe keine Ahnung wie gerade.
Paste
es zu entfernen, müssen Sie ein falsches leeres Kontextmenü erstellen und es der ComboBox zuweisen.
Yow kann den DropDownStyle in den Eigenschaften in DropDownList ändern. Dadurch wird die TextBox für den Filter nicht angezeigt.
(Screenshot von FUSION CHA0S .)
Ich habe ComboBox1_KeyPress ausprobiert, aber es ermöglicht das Löschen des Zeichens und Sie können auch den Befehl Kopieren und Einfügen verwenden. Mein DropDownStyle ist auf DropDownList eingestellt, aber immer noch nicht verwendbar. Also habe ich den folgenden Schritt ausgeführt, um die Bearbeitung von Combobox-Texten zu vermeiden.
Der folgende Code behandelt die Lösch- und Rücktaste. Deaktiviert auch die Kombination mit der Steuertaste (z. B. Strg + C oder Strg + X).
Private Sub CmbxInType_KeyDown(sender As Object, e As KeyEventArgs) Handles CmbxInType.KeyDown
If e.KeyCode = Keys.Delete Or e.KeyCode = Keys.Back Then
e.SuppressKeyPress = True
End If
If Not (e.Control AndAlso e.KeyCode = Keys.C) Then
e.SuppressKeyPress = True
End If
End Sub
Verwenden Sie beim Laden des Formulars die folgende Zeile, um das Klicken mit der rechten Maustaste auf die Combobox-Steuerung zu deaktivieren und das Ausschneiden / Einfügen per Mausklick zu vermeiden.
CmbxInType.ContextMenu = new ContextMenu()