¿Cómo ocultar lisbox cuando no hay datos?

Tengo un listbox donde me gustaría que la propiedad visible=false se cumpliera siempre y cuando no hay valores en el listbox. He probado con este tipo de código pero no me hace invisible el frame.

Este código esta en un botón, pero no se si es donde ha de estar. ¿Podría estar también en el evento change del list_productos?. ¿Cómo podría hacer que cuando detectara que no hay ningún dato se ponga en modo no visible?

Private Sub Eliminar_Click()
Dim i As Integer
If list_productos.value = Empty Then
Frame_despesa.Visible = False
Else
Frame_despesa.Visible = True
End If
For i = 0 To list_productos.ListCount - 1
If list_productos.Selected(i) Then
list_productos.RemoveItem (i)
End If
Next i
End Sub
Respuesta
1

Hello Pol,

Para comprobar si un ListBox esta vació (que no tiene ningún item) debe hacerse comprobando su propiedad ListCount (Lista total)

El .Value solo hace referencia a su BoundColumn, que no es necesariamente lo que tu deseas saber.

Este seria el código:

If list_productos.ListCount < 1 Then
    Frame_despesa.Visible = False
Else
    Frame_despesa.Visible = True
End If

Nota que yo pongo < 1. Quizás otras personas pondrían = 0 que en la practica es lo mismo, pero yo personalmente prefiero comprobar < 1, ponlo como tu prefieras.

Aquí en funcionamiento: video demo

Andy

¡Gracias! Justamente me funciona a la perfección. Muchas gracias por las explicaciones, así siempre uno puede ir aprendiendo más y más.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas