¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?[Resuelto]


Subject: ¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?[Resuelto]
buenas

pues eso del titulo

yo ya lo he hecho manualmente regulando el tamaño manualmente pero no me convence debe haber alguna otra forma.

ustedes la conocen?
es posible?

aqui un ejemplo pero me parece muy chancho....

Private Sub MostrarListaCoincidencias(quien As TextBox, lista As String[], ver As Boolean)

lstLista.Clear()
lstLista.Visible = ver
lstLista.List = lista

lstLista.x = quien.X
lstLista.Y = quien.y + quien.Height
lstLista.Width = quien.Width

If lstLista.Count < 10 Then
If lstLista.Count = 1 Then
lstLista.Height = lstLista.Count * 25
Else
lstLista.Height = lstLista.Count * 23
Endif
Else
lstLista.Height = 10 * 23
Endif

InsertaAqui = quien

End

Last edited by v3ctor on Friday, 25 November 2016, 02:16; edited 1 time in total
Subject: Re: ¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?
Salvo que hables de cosas muy controladas y específicas, creo que no es muy buena idea:

Si la lista crece... ¿qué pasa con lo que tiene debajo?
Si no tiene nada debajo ¿para qué quieres que crezca?
Si tiene más elementos de los que caben en pantalla ¿Se deben perder los de arriba o los de abajo?
Si no quieres perder ninguno y vas a poner, al final, una scrollbar para moverte en la lista ¿para qué tanto lío?

Dale tamaño fijo, que tenga una scrollbar y todo arreglado, simple y sin prolemas.

KISS (siendo la última S la de Smart, como apuntó no sé quién)

Profile PM  
Subject: Re: ¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?
shordi...

rrt

en palabras existentes, muestra todas las coincidencias con palabras de toda la escritura (izquierda)
en búsquedas recientes guarda las búsquedas recientes que obtuvieron resultados sino, no guarda.
esa lista puede tener cientos de búsquedas o tal vez miles
entonces hago una lista abajo para que muestre las coincidencias estrictas con la lista de arriba y que su tamaño se ajuste a los items

para que no quede espacio vacío cuando son dos o tres coincidencias y se visualice bien todo.
en el ejemplo vemos como después de "hermanos piadosos" hay espacio vacio....

Subject: Re: ¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?
...asignando el valor de la su propiedad .ScrollHeight a la su propiedad .Height:

Public Sub Form_Open()

ListBox1.Height = ListBox1.ScrollHeight

End

Profile PM  
Subject: Re: ¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?
vuott excelente,

una respuesta a tu nivel de programación jajajaj

eso parece que funciona

digo parece porque rompí el código que estaba funcionando jajaja, es que tengo que agregarle otra cosa y aun no doy con la tecla.

pero si funciona.

Subject: Re: ¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?
solución vuott:

Public Sub txtFiltro_Change()
Dim texto, coincidencia As String

If Len(txtFiltro.Text) < 1 Then
btnClear.Visible = False
Else
btnClear.Visible = True
Endif

If Len(txtFiltro.Text) <2> 0 Then
lstBCoincidencias.Visible = True
lstBCoincidencias.Height = lstBCoincidencias.ScrollHeight 'Aquí
Else
lstBCoincidencias.Visible = False
Endif
Else
lstBCoincidencias.Visible = False
Endif


End



2e


modificación mía (opcional) simplemente sumamos 2 a lstBCoincidencias.ScrollHeight para que no se vea la barra (cuestión de gusto y aspecto)

Public Sub txtFiltro_Change()
Dim texto, coincidencia As String

If Len(txtFiltro.Text) < 1 Then
btnClear.Visible = False
Else
btnClear.Visible = True
Endif

If Len(txtFiltro.Text) <2> 0 Then
lstBCoincidencias.Visible = True
lstBCoincidencias.Height = lstBCoincidencias.ScrollHeight + 2'Aquí
Else
lstBCoincidencias.Visible = False
Endif
Else
lstBCoincidencias.Visible = False
Endif

End


1e

Subject: Re: ¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?
v3ctor escribió: [Ver mensaje]
solución vuott:

Public Sub txtFiltro_Change()
Dim texto, coincidencia As String

If Len(txtFiltro.Text) < 1 Then
btnClear.Visible = False
Else
btnClear.Visible = True
Endif

If Len(txtFiltro.Text) <2> 0 Then
lstBCoincidencias.Visible = True
lstBCoincidencias.Height = lstBCoincidencias.ScrollHeight 'Aquí
Else
lstBCoincidencias.Visible = False
Endif
Else
lstBCoincidencias.Visible = False
Endif


End



2e


modificación mía (opcional) simplemente sumamos 2 a lstBCoincidencias.ScrollHeight para que no se vea la barra (cuestión de gusto y aspecto)

Public Sub txtFiltro_Change()
Dim texto, coincidencia As String

If Len(txtFiltro.Text) < 1 Then
btnClear.Visible = False
Else
btnClear.Visible = True
Endif

If Len(txtFiltro.Text) <2> 0 Then
lstBCoincidencias.Visible = True
lstBCoincidencias.Height = lstBCoincidencias.ScrollHeight + 2'Aquí
Else
lstBCoincidencias.Visible = False
Endif
Else
lstBCoincidencias.Visible = False
Endif

End


1e



Y si quiero que la listbox solo tenga 10 items y que no acepte mas no seria una mejor solucion?

Subject: Re: ¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?[Resuelto]
interesante, lo voy a probar... si es cuestión de gustos sin duda, pero sin la barra me gusta como queda.

por lo que veo esa versión que usaste es vieja, ahora el ayudante tiene algunas opciones mas

saludos

Subject: Re: ¿Como Regular El Alto De Un ListBox Segun La Cantidad De Items?[Resuelto]
ayudante6

si y posiblemente la limitación de items también que mejor voy a ver que hago, tal vez la deje en 15 o 10

jaja estoy indeciso... sera cuestión de probar


Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1661s (PHP: -17% SQL: 117%)
SQL queries: 24 - Debug Off - GZIP Enabled