Pregunta

Estoy escribiendo una GUI en C #, Visual Studio 2008, usando Designer y WinForms. Tengo un control ComboBox, y me gustaría que solo permita seleccionar entre las opciones proporcionadas y no aceptar una cadena ingresada por el usuario. No parece tener una propiedad ReadOnly, y su desactivación dificulta la legibilidad del control (además de impedir la selección del usuario).

¿Fue útil?

Solución

Establezca DropDownStyle en " DropDownList "

Otros consejos

Establezca la propiedad ComboBox.DropDownStyle en ComboBoxStyle.DropDownList.

Otra forma sencilla de hacerlo.

private void combobox1_KeyPress(object sender, KeyPressEventArgs e)
{
    e.Handled = true;
}

Use un código similar al siguiente para establecer las opciones permitidas y solo esas opciones.

comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.Items.AddRange(new object[] {
    "One",
    "Two",
    "Three",
    "Four"});

Intenta usar un DropDownListbox

Mi requisito: una vez que el usuario proporciona una entrada a través del cuadro combinado, no puede cambiar el valor antes de enviarlo. Sólo pueden leer ese valor.

Según mi requerimiento, hago lo siguiente.

1) Obtenga información del usuario a través del cuadro combinado.
2) Copie el valor del cuadro combinado en un cuadro de texto (que es de solo lectura e invisible).
3) Falso la visibilidad del cuadro combinado.
4) Verdadera la visibilidad del cuadro de texto de solo lectura.

Haz esto con los eventos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top