obtener - selected item combobox c#
Compruebe si se selecciona un valor de ComboBox (3)
Puede usar el cuadro combinado de cuadro combinado seleccionado evento modificado
Agregue esto a su clase InitializeComboBox
this.ComboBox1.SelectedIndexChanged +=
new System.EventHandler(ComboBox1_SelectedIndexChanged);
luego, en el evento seleccionado de índice seleccionado, puede verificar si se seleccionó la casilla de la combox
private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox cbx= (ComboBox) sender;
Button1.Enabled = !string.IsNullOrEmpty(cbx.SelectedItem.ToString());
}
Estoy escribiendo un formulario que incluye algunos botones y un cuadro combinado. El botón "Aceptar" está desactivado de forma predeterminada, y deseo habilitarlo solo después de seleccionar un valor real (no el nombre del cuadro combinado).
Sé cómo acceder al valor seleccionado y cómo verificar si se ha seleccionado un valor, pero estos dos solo pueden hacerse después de que el formulario esté cerrado (usando la "x" o el botón "Aceptar", que está desactivado) .
¿Algunas ideas?
Gracias.
Quizás así:
private void comboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox.SelectedIndex > -1)
{
buttonOK.Enabled = true;
}
}
Por defecto, el índice seleccionado de un combobox es -1 (el nombre del combobox, que no puede volver a seleccionar después de elegir otro índice), de modo que si comprueba que no es -1, entonces sabrá que se ha seleccionado un valor.
Sin embargo, otra alternativa, y la que yo uso, es que si siempre quiero que se seleccione un valor es usar la propiedad DropDownStyle
y configurarlo en DropDownList
. De esta manera, el índice 0 se selecciona de forma predeterminada y el usuario solo puede seleccionar elementos de la lista y nada más.
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex == -1)
button1.Enabled = false;
else
button1.Enabled = true;
//or
//button1.Enabled = comboBox1.SelectedIndex == -1;
}