2008-09-17 21 views

Respuesta

330

Para que la parte de texto de un ComboBox no se pueda editar, establezca la propiedad DropDownStyle en "DropDownList". El ComboBox ahora es esencialmente select-only para el usuario. Usted puede hacer esto en el diseñador de Visual Studio o en C# como esto:

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList; 

enlace a la documentación de la ComboBox DropDownStyle property en MSDN.

+6

Una cosa a tener en cuenta hacer esto significa que ya no puede actualizar la propiedad 'Text' programmically, estaba usando para mostrar una mensaje predeterminado usando 'ComboBox.SelectedIndex = -1;' – Lankymart

+0

¿Hay alguna manera de hacer esto a través de la GUI para Visual C# sin tener que editarlo en el código? Parece que un "valor predeterminado" sería una cosa normal para querer configurar – muzzlator

+0

@muzzlator ver mi respuesta a continuación http://stackoverflow.com/a/26005210/1241244 – invertigo

19

Permanezca en su ComboBox y busque la propiedad DropDropStyle desde la ventana de propiedades y luego elija DropDownList.

51

Para agregar una referencia de Visual Studio interfaz gráfica de usuario, se pueden encontrar los DropDownStyle opciones en las propiedades del cuadro combinado seleccionado:

enter image description here

que añadirá automáticamente la línea mencionada en la primera respuesta al formulario. Designer.cs InitializeComponent(), así:

this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 
2

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

1

Para continuar la visualización de datos en la entrada después de seleccionar, hacerlo:

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; 
} 
Cuestiones relacionadas