none
la seleccion de items en un combobox no se repita RRS feed

  • Pregunta

  • como puedo hacer para que al seleccionar la primera opcion de un combobox  ; quiera a volver a seleccionar la primera opcion pero que no me deje seleccionarlo sino  decirme que no puedo escoger la primera opcion otra vez ;  los intente  con  ESTO :

    //int fila = int.Parse(cbodni.SelectedItem.ToString());
                //if (fila <= 3)
                //{ }  pero no me deja ingresar   estoy utilizando visual estudio 2010 c# 

     GRACIAS DE ANTEMANO


    • Editado kevincvp sábado, 17 de septiembre de 2016 3:30
    viernes, 16 de septiembre de 2016 18:59

Todas las respuestas

  • kevincvp,

    ¿La restricción será sólo con el primer elemento de la lista? ¿o la restricción se extiende a que cualquier elemento de la lista no se pueda seleccionar mas de una vez? 


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 16 de septiembre de 2016 19:20
  • es asi  por ejemlo :

    tengo en un combobox nombre de cursos

    - matematica

    -literatura

    selecciono   matematica  y  agrego a una lista  con todos los otros datos

    pero cuando quiero volver a agregar  que me salga  " no puedes  repetir el curso" y seleccionar  literatura y asi agregar a la lista   

    POR FAVOR AYUDA CON ESTO

    GRACIAS DE ANTEMANO

    viernes, 16 de septiembre de 2016 19:40
  • kevincvp,

    Sobre el ejemplo que mencionas el procedimiento debería ser el siguiente:

    1. Seleccionar un elemento con la posibilidad de agregar el ítem a una lista.
    2. En caso el elemento haya sido agregado a una lista se deberá quitar de la colección de items (Items.Remove(item)), de hecho no tiene sentido mostrar un elemento el cual no podrá ser seleccionado.

    Ya que no mencionas el caso real, el punto dos difiere en acción según el caso, si el ámbito es temporal entonces bastará con quitar el elemento de la colección de ítems, sin embargo, si el valor seleccionado se persiste (por ejemplo en una tabla de base de datos) entonces los datos que carga el desplegable deberá discriminar los elementos insertados en la segunda tabla.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 16 de septiembre de 2016 20:46
  • no quiero quitar de la lista nimgun item solo poner una restriccion dentro de un combobox para cada uno de los items y q solo me deje seleccionar una sola vez un item y q no me permita seleccionar el mismo item otra vez sino otro

    algun codigo o evento q aiga para la restriccion  q me aconsejes 

    GRACIAS DE ANTEMANO

    viernes, 16 de septiembre de 2016 21:35
  • kevincvp,

    De acuerdo.

    Una solución es ir cargando en una lista todos los elementos que el usuario vaya seleccionando, la idea es que se cuente con un contenedor donde validar la existencia de cada elemento seleccionado, si el elemento no existe en la lista se realizará una determinada acción caso contrario se informará al usuario que el elemento ya ha sido seleccionado previamente:

    List<int> elementosSeleccionados = new List<int>();
    
    private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)
    {
    	if (!elementosSeleccionados.Contains(Convert.ToInt32(comboBox1.SelectedValue)))
    	{
    		elementosSeleccionados.Add(Convert.ToInt32(comboBox1.SelectedValue));
    		//Realizar acción
    	}
    	else
    	{
    		MessageBox.Show("El elemento ya ha sido seleccionado");
    		comboBox1.SelectedIndex = -1;
    	}
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Propuesto como respuesta Pedro Ávila sábado, 17 de septiembre de 2016 3:56
    viernes, 16 de septiembre de 2016 22:01
  • Hola

    No debes escribir en mayúscula, se entiende en los foros como si estuvieras gritando.


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    sábado, 17 de septiembre de 2016 2:28
  • okei - lo siento ese no era mi intencion
    sábado, 17 de septiembre de 2016 3:27
  • Gracias amigo por la informacion es lo q buscaba 

    algunos links que me sugieras para aprender mejor sobre estos temas?

    sábado, 17 de septiembre de 2016 3:32
  • Gracias amigo por la informacion es lo q buscaba 

    algunos links que me sugieras para aprender mejor sobre estos temas?

    No estoy seguro que es lo que sea nuevo para ti, quizá te sirva leer acerca del método List<t>.Contains (Método) (T)</t>. Sin embargo -y vuelvo a insistir- revisa la posibilidad de quitar los elementos si no estarán disponibles para la selección.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    sábado, 17 de septiembre de 2016 3:42