2010-03-17 27 views
8

Tengo un cuadro combinado en el que tengo que mostrar las fechas de una base de datos. El usuario tiene que seleccionar una fecha en el cuadro combinado para continuar, pero no sé cómo hacer que el usuario sepa de seleccionar el elemento del cuadro combinado primero para continuar.¿Cómo comprobar si el elemento en el cuadro combinado está seleccionado o no en C#?

¿Qué proceso se debe seguir para que un usuario pueda recibir un mensaje si no ha seleccionado la fecha del combo?

Respuesta

12
if (string.IsNullOrEmpty(ComboBox.SelectedText)) 
{ 
MessageBox.Show("Select a date"); 
} 
+2

Sé que este post es viejo, pero como me encontré con esto, algunos podrían tropezar también. En mi caso, el 'ComboBox.SelectedText' no funcionó, tuve que usar 'ComboBox.Text'. Solo verifiqué que había otra respuesta con mi enfoque, pero aparte de mi respuesta a esa respuesta, aquí podría captar la atención más fácilmente. – StinkyCat

+1

@StinkyCat tiene razón ... Seguí obteniendo un valor nulo cuando uso 'SelectedText' o 'SelectedValue' pero simplemente usando 'Text' funciona. – KingOfAllTrades

+0

es más fácil de usar Combobox.SelectedItem.ToString para que tenga una idea de lo que se seleccionó o si no se seleccionó nada en absoluto. pero gracias por la respuesta, esto ayudó. – JT4U

1

verificación de la propiedad de texto como éste

if (combobox.text != String.Empty) 
{ 
//continue 
} 
else 
{ 
// error message 
} 
1
if (cboDate.SelectedValue!=null) 
{ 
     //there is a selected value in the combobox 
} 
else 
{ 
    //no selected value 
} 
0

Usted puede utilizar SelectedIndex o SelectedItem propiedades del ComboBox.

2

Usted querrá utilizar DropDownStyle = DropDownList esta manera puede asegurarse de que el usuario escogió una entrada de la lista y no se puede escribir texto al azar en la caja. Agregue un artículo vacío a los artículos antes de poblarlo (o "seleccionar"). Ahora, el valor predeterminado es automáticamente vacía y la prueba es simple: basta con comprobar que SelectedIndex> 0.

+0

Supongo que este debería ser el estilo predeterminado de un ComboBox – meJustAndrew

3

Se puede utilizar esta:

if (Convert.ToInt32(comboBox1.SelectedIndex) != -1) 
{ 
    // checked 
} 
else 
{ 
    // unckecked 
} 
4

Aquí es la codificación perfecta que comprueba si el elemento de cuadro combinado se selecciona o no:

if (string.IsNullOrEmpty(comboBox1.Text)) 
{ 
    MessageBox.Show("No Item is Selected"); 
} 
else 
{ 
    MessageBox.Show("Item Selected is:" + comboBox1.Text); 
} 
0

Pl. note ComboBox.Text solo comprueba el texto que se encuentra en la región editable del ComboBox, por lo que no se debe usar cuando se quiere verificar si hay alguna selección dentro del ComboBox.

Esto funcionará siempre.

 int a = ComboBox.SelectedIndex.CompareTo(-1); 

     if (a == 0) 
     { 
      MessageBox.Show("Please select something."); 
     } 
     else 
     { 
      // do something if combo box selection is done.! 
     } 
1
if(combobox.Selectedindex==-1) 
{ 
MessageBox.Show("Please Select an item"); 
} 

else 
{ 
MessageBox.Show("An Item was selected"); 
} 
Cuestiones relacionadas