values obtener item displaymember c# winforms forms combobox

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