Risposte:
Usa la proprietà ComboStyle:
comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
combo.Properties.TextEditStyle = DisableTextEditor
Questo è un altro metodo che uso perché cambiarlo DropDownSyle
per DropDownList
renderlo 3D e talvolta è semplicemente brutto.
È possibile impedire l'input dell'utente gestendo l' KeyPress
evento del ComboBox in questo modo.
private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Paste
anche l' opzione . Non ho idea di come in questo momento.
Paste
dovrai creare un falso menu contestuale vuoto e assegnarlo a ComboBox.
È possibile modificare DropDownStyle nelle proprietà in DropDownList. Questo non mostrerà la TextBox per il filtro.
(Screenshot fornito da FUSION CHA0S .)
Ho provato ComboBox1_KeyPress ma mi consente di eliminare il carattere e puoi anche usare il comando copia incolla. My DropDownStyle è impostato su DropDownList ma non è ancora utile. Quindi ho fatto il passaggio seguente per evitare la modifica del testo nella casella combinata.
Il codice sottostante gestisce il tasto Canc & Backspace. E disabilita anche la combinazione con il tasto di controllo (ad esempio ctr + C o ctr + 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
Nel caricamento del modulo, utilizzare la riga sotto per disabilitare il clic con il tasto destro del mouse sul controllo combobox per evitare di tagliare / incollare con il clic del mouse.
CmbxInType.ContextMenu = new ContextMenu()