none
validar que se haya seleccionado algo en un comboBox

    質問

  • Hola que tal, estoy haciendo varias winforms en c#, he creado unos groupBox y dentro de estos tengo varios comboBox, los cuales tienen datos fijos que no cargan de ninguna bdd ni nada, y por lo tanto los puse con el Items -> (Collection). Mi pregunta es como puedo validar que se haya seleccionado algo del comboBox, y si no se ha seleccionado nada marcar error y regresar para que el usuario haga una selección.
    He intentado con el SelectedIndex (que por lo que he visto en tutoriales) regresa -1 si no se ha seleccionado nada del comboBox, pero no me lo agarra, no me lo valida ya que no pongo nada en los combobox y no me marca error.
    Que puedo intentar? o me esta faltando algo?

    Gracias.
    Miguel.

    2009年3月30日 7:20

回答

  • Hola

    Las respuestas anteriores las veo correctas, pero si no te funcionan, haz lo siguiente:

    en el _load o en el evento donde carges tus combos ponle un selectindex a 0 a tu combo,
    con esto ya no tendras problemas  al  validar el index seleccionado.

    0 significara que no seleccionaron nada y cualquier otro te indicara que han seleccinado un item



    saludos

    Erdnando Rodriguez Vargas


    net
    • 回答としてマーク Miguel León 2009年4月5日 8:44
    2009年4月4日 19:31

すべての返信

  • Hola Miguel,

    Puedes dar un poco más de info. A que te refieres que no te coge el -1?? Si haces un if(combo.SelectedIndex != -1) no funciona?

    Gracias,
    Marca la respuesta como correcta si te he ayudado! Gracias - http://fjaumot.wordpress.com
    2009年3月30日 9:42
  • Si en el comboBox la propiedad SelectedItem es distinto de null has seleccionado algo

    string valor=comboBox1.SelectedItem.ToString();
    con  comboBox1.SelectedIndex.ToString();  sabes el indice del elemento seleccionado
    cuando interactuas con el combo, un evento se despacha  y ahi puedes leer el elemento
    private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e){
    ComboBox  cmb =  (ComboBox)sender;//objeto que dispara el evento
    string valor = cmb.SelectedItem.ToString(); 
    }

    Colabora con el foro: Si este mensaje te fue util o es la respuesta por favor marcala como tal :).
    Saludos..
    2009年4月4日 5:44
  • Hola

    Las respuestas anteriores las veo correctas, pero si no te funcionan, haz lo siguiente:

    en el _load o en el evento donde carges tus combos ponle un selectindex a 0 a tu combo,
    con esto ya no tendras problemas  al  validar el index seleccionado.

    0 significara que no seleccionaron nada y cualquier otro te indicara que han seleccinado un item



    saludos

    Erdnando Rodriguez Vargas


    net
    • 回答としてマーク Miguel León 2009年4月5日 8:44
    2009年4月4日 19:31

  • Hola a todos
    Ya intentaron validar que el comboBox su valor no sea "" (vacio) con la propiedad selectValue para que sea evaluado como un string y en caso de ser vacio mandas un messagebox notificando la falta de datos

    Espero sirva de algo esta propuesta.


    Jonathan Romero
    Jonathan Romero Especialista .Net
    2009年4月7日 14:28
  • hola,  aqui les pongo el codigo de como me funcionò a mi espero que sea de ayuda

    if (cmbNomUnidad.SelectedIndex.Equals(-1))

        MessageBox.Show("Llene todos los datos");

     

     

     

    • 回答の候補に設定 Marchellino 2010年7月24日 19:55
    2010年7月24日 19:55
  • hola,  aqui les pongo el codigo de como me funcionò a mi espero que sea de ayuda

    if (cmbNomUnidad.SelectedIndex.Equals(-1))

        MessageBox.Show("Llene todos los datos");

     

     

     

     

    GRACIAS, ME HA FUNCIONADO, ME HAS SALVADO DE UN PROYECTO ESCOLAR, SALUDOS
    2011年3月19日 18:28
  • Hola había batallado ya como tres días con esto jeje ,muchas gracias por esta aportación. Saludos
    2013年3月13日 19:40