Tomar decisión si se elije un área vacía listbox

Hola expertos, aquí voy devuelta.

Tengo un listbox con cierta cantidad de elementos, si selecciono uno hago que se habilten/deshabiliten estos botones

Me.BtnBaja.Enabled = False

Me.BtnModificar.Enabled = False
Me.BtnAlta.Enabled = True
Me.txtMateria.Text = Me.ListMaterias.Text

Asta aquí bárbaro, esto lo hago dentro del evento Click del Listbox

Ahora viene el problema. Deseaba que si se clickeara en un lugar vacío del listbox modificara los valores de activación de esos botones de manera tal que solo quedara habilitado el botón Alta, la idea seria que, sino elegí nada es que quiero agregar un Item nuevo.

Había intentado esto pero no sirvió:

Private Sub ListMaterias_Click()
If ListMaterias.ListIndex <> -1 Then
Me.BtnBaja.Enabled = False
Me.BtnModificar.Enabled = False
Me.BtnAlta.Enabled = True
Me.txtMateria.Text = Me.ListMaterias.Text
Else
Me.BtnBaja.Enabled = True
Me.BtnModificar.Enabled = True
Me.BtnAlta.Enabled = False
Me.txtMateria.Text = Me.ListMaterias.Text
End If
End Sub

Desde ya gracias por sus ideas, tiempo y dedicación

1 Respuesta

Respuesta
1

Por lo general usamos un botón 'externo' al listbox para indicarle que lo que se escriba en algunos controles se 'agregue' al UF.

Esa sería 1 idea.

Ahora, si el listbox está lleno no hay lugar vacío como para clickear.

Si le asignaste un rango mayor quizás entonces sí se vea vacío y podes preguntar que si el valor es = "" entonces haga 1 cosa sino la otra.

Otra idea es que tu lista tenga un encabezado, por ej como cuando se ve en los desplegables: 'Selecciona una opción'... algo así

Entonces el evento Clic debe evaluar si se trata del primer elemento (listIndex = 0), en ese caso es como un lugar 'vacío'

Espero te sirvan estas ideas sino lo seguimos tratando,

Gracias Elsa. Me funciono esto, que vendría a ser la segunda opción donde en el rango seleccionado hay espacios vacíos.

If ListMaterias.List(ListMaterias.ListIndex) = "" Then
Me.BtnBaja.Enabled = False
Me.BtnModificar.Enabled = False
Me.BtnAlta.Enabled = True
Else
Me.BtnBaja.Enabled = True
Me.BtnModificar.Enabled = True
Me.BtnAlta.Enabled = False
End If
Me.txtMateria.Text = Me.ListMaterias.Text

Gracias de nuevo.....

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas