Manejo de un ListBox mediante un SpinButton

Muy buenas foro. Os pregunto a vosotros expertos, ya que después de dar muchas vueltas por Google no he encontrado lo que necesito, espero podáis ayudarme. Os pondré en situación, adjuntando una captura del código al que hago referencia.
Tengo un ListBox llamado ListBox_CONTACTOS que manejo mediante los SpinButtons que veis en la imagen, me funciona a la perfección, pero me gustaría saber como hacer que detecte cuando es el primer item y último de la lista, para poder poner en Enabled el que corresponda, ya sea el SpinUp o el SpinDown.
Espero haberme explicado ben, cualquier duda me lo decís y especifico más, si es necesario.

2 Respuestas

Respuesta

La manera de detectar si estas al principio o al final es mediante la propiedad ListIndex del ListBox_CONTACTOS.

0 es al inicio y ListCount-1 es al final... pero...

No puedes poner la propiedad de Enabled en True o False de una parte del spinbutton... porque el spin button es en si UN SOLO CONTROL.

Lo que podrías hacer es crear dos botones independientes, que cumplan la misma función y allí si desactivas uno u otro según llegues al principio (muestro el esquema para este caso) o final de la lista, ampliando la instrucción...

..................................... Then Exit Sub

Por

... Then

         BotonSubir.Enabled=False

         Exit Sub

End if

Que además tiene que se complementada con una instrucción Enabled a en el código del botón opuesto... es decir en el código del BotonBajar, debería haber una línea que sin ninguna condición ejecute

BotonSubir.Enabled=True

Y deberías hacer también la configuración cruzada también para el otro botón.

M

uchas gracias Jaime Segura, pensé que si podían modificarse independientemente el Up y el Down del SpinButton, pero me parece muy buena idea lo de los ComandButtons dándole la misma función, y así lo hice, pero algo no hice bien, ya que ahora si me detecta el primer y último item de la lista, y me desactiva correctamente con Enabled, el botón superior o el inferior según corresponda, pero no puedo recorrer los items de la lista con los botones, espero haberme explicado.
Te adjunto imagen con el código actual.

Has mantenido en el código de los botones el

With.......

    .ListIndex =.ListIndex + 1

End With                       ?

Verifica, sino vuelve a publicar el código... pero mejor si copias y pegas el texto antes que sacarle una foto.

Respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas