Respuestas:
Use la propiedad ComboStyle:
comboBox.DropDownStyle = ComboBoxStyle.DropDownList;
combo.Properties.TextEditStyle = DisableTextEditor
Este es otro método que utilizo porque cambiar DropDownSyle
a DropDownList
hace que se vea en 3D y, a veces su simplemente no es atractivo.
Puede evitar la entrada del usuario manejando el KeyPress
evento del ComboBox como este.
private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
Paste
. No tengo idea de cómo ahora.
Paste
tendrás que crear un falso menú contextual vacío y asignarlo al ComboBox.
Yow puede cambiar el DropDownStyle en propiedades a DropDownList. Esto no mostrará el cuadro de texto para el filtro.
(Captura de pantalla proporcionada por FUSION CHA0S .)
Probé ComboBox1_KeyPress pero permite eliminar el carácter y también puedes usar el comando copiar y pegar. Mi DropDownStyle está configurado en DropDownList pero aún no sirve. Así que hice el siguiente paso para evitar la edición de texto del cuadro combinado.
Debajo del código se maneja la tecla borrar y retroceder. Y también deshabilita la combinación con la tecla de control (por ejemplo, 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
En el formulario de carga, use la línea de abajo para desactivar el clic derecho en el control del cuadro combinado para evitar cortar / pegar con el clic del mouse.
CmbxInType.ContextMenu = new ContextMenu()