Foros del Web » Programación para mayores de 30 ;) » .NET »

Botones bajar y subir

Estas en el tema de Botones bajar y subir en el foro de .NET en Foros del Web. Tengo un listbox, y estoy haciendo un botón para bajar y otro para subir (desplazamiento por los items). El problema está cuando paso el final ...
  #1 (permalink)  
Antiguo 07/11/2012, 15:26
 
Fecha de Ingreso: febrero-2008
Mensajes: 78
Antigüedad: 16 años, 2 meses
Puntos: 0
Botones bajar y subir

Tengo un listbox, y estoy haciendo un botón para bajar y otro para subir (desplazamiento por los items).

El problema está cuando paso el final o el principio del listbox. Me gustaría que al llegar al final y presiono otra vez, vuelva al principio, y viceversa.

Código:
If ListBox1.Items.Count <= 1 Then

        ElseIf ListBox1.SelectedIndex > ListBox1.Items.Count Then
            ListBox1.SelectedIndex = 1
        Else
            ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
Me tira el error (después de haber ingresado 3 elementos):

InvalidArgument=El valor de '3' no es válido para 'SelectedIndex'. Nombre del parámetro: SelectedIndex
  #2 (permalink)  
Antiguo 07/11/2012, 15:54
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Botones bajar y subir

Hola Lain0x, hasta ahí no veo nada raro.. coloca todo el código que haces tanto en el botón "arriba" como "abajo". Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 07/11/2012, 15:58
 
Fecha de Ingreso: febrero-2008
Mensajes: 78
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Botones bajar y subir

Botón arriba:

Código:
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        If ListBox1.Items.Count <= 1 Then

        ElseIf ListBox1.SelectedIndex = ListBox1.Items.Count Then
            ListBox1.SelectedIndex = 1
        Else
            ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1


        End If
    End Sub
Botón abajo:

Código:
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        If ListBox1.Items.Count <= 1 Then

        Else
            ListBox1.SelectedIndex = ListBox1.SelectedIndex - 1
            v = v - 1
        End If
    End Sub
  #4 (permalink)  
Antiguo 07/11/2012, 16:05
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Botones bajar y subir

mm creo que ya sé donde va tu error lo que pasa es que estas igualando el índice con tu contador, para que entiendas puedes tener 2 items en tu listbox, pero su indíce jamas será igual que su conteo esto debido a que el indice comienza desde 0 :
Cita:
Para 3 Items :
Item 1 - Indice 0 - Conteo 1
Item 2 - Indice 1 - Conteo 2
Item 3 - Indice 2 - Conteo 3
Has esto, restale 1 al count :
Código vb:
Ver original
  1. 'BOTON ARRIBA
  2. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
  3.         If ListBox1.Items.Count <= 1 Then
  4.  
  5.         ElseIf ListBox1.SelectedIndex = ListBox1.Items.Count - 1 Then
  6.             ListBox1.SelectedIndex = 1
  7.         Else
  8.             ListBox1.SelectedIndex = ListBox1.SelectedIndex + 1
  9.  
  10.  
  11.         End If
  12.     End Sub
Y nos cuentas!. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 07/11/2012, 16:34
 
Fecha de Ingreso: febrero-2008
Mensajes: 78
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Botones bajar y subir

Oh gracias, es un detalle que no había tomado en cuenta.

Etiquetas: bajar, botones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:26.