none
Eliminar tantos de numeros de item de un Listbox RRS feed

Respuestas

  • Puedes utilizar RemoveAt para eliminar el elemento con un índice determinado. Ten en cuenta que en cada eliminación se recalculan los índices de los elementos restantes. O lo que es lo mismo, si eliminas el primer elemento, el que antes era 2º pasa a ser 1º. Por eso lo más cómodo es empezar por el elemento final.

    Para el caso que pones deberías empezar eliminando los últimos 5 elementos con

    For n As Integer = ListBox1.Items.Count To ListBox1.Items.Count - 4 Step -1
        ListBox1.Items.RemoveAt(n - 1)
    Next

    Y luego borrar los 3 primeros con

    For n As Integer = 3 To 1 Step -1
        ListBox1.Items.RemoveAt(n - 1)
    Next


    Saludos, Javier J

    • Marcado como respuesta Cael1020 miércoles, 6 de septiembre de 2017 9:08
    miércoles, 6 de septiembre de 2017 7:09

Todas las respuestas

  • Me temo que no se te entiende nada bien. Vas a tener que aclarar la pregunta explicando a qué te refieres con eso de "un ListBox de 1 a 3", y qué quieres decir con "su lista" (¿qué lista?).

    En líneas generales para eliminar items de un listbox lo que se hace es eliminarlos de la colección de Items de ese listbox. Se pueden eliminar por valor o por posición. Por ejemplo, listBox1.Items.Remove(valor) quita ese valor de listbox con independencia de la posición en la que se encuentre (ojo, comparación por referencia y no por valor si es un tipo-referencia), y con listBox1.RemoveAt(2) borrarías el item que esté en la posición 2 (numeradas desde cero), sea cual sea su valor.

    • Propuesto como respuesta Jorge TurradoMVP miércoles, 6 de septiembre de 2017 7:37
    miércoles, 6 de septiembre de 2017 6:52
  • Puedes utilizar RemoveAt para eliminar el elemento con un índice determinado. Ten en cuenta que en cada eliminación se recalculan los índices de los elementos restantes. O lo que es lo mismo, si eliminas el primer elemento, el que antes era 2º pasa a ser 1º. Por eso lo más cómodo es empezar por el elemento final.

    Para el caso que pones deberías empezar eliminando los últimos 5 elementos con

    For n As Integer = ListBox1.Items.Count To ListBox1.Items.Count - 4 Step -1
        ListBox1.Items.RemoveAt(n - 1)
    Next

    Y luego borrar los 3 primeros con

    For n As Integer = 3 To 1 Step -1
        ListBox1.Items.RemoveAt(n - 1)
    Next


    Saludos, Javier J

    • Marcado como respuesta Cael1020 miércoles, 6 de septiembre de 2017 9:08
    miércoles, 6 de septiembre de 2017 7:09