Visual Basic - Scroll en un frame

Life is soft - evento anual de software empresarial
 
Vista:

Scroll en un frame

Publicado por tono (34 intervenciones) el 02/03/2007 11:21:19
Hola a tod@s. Tengo un frame en un formulario de mi aplicación y un botón que añade controles a mi frame cuando lo pulso.

Cuando se pulsa el botón "añadir campo" se van añadiendo al frame de forma consecutiva varios label y varios TextBox.

Lo único que quiero es que cuando el frame tenga cierta altura pues aparezca de forma automática un scroll.

El código del botón "añadir campo" es el siguiente:

Private Sub Label5_Click()

n = n + 1 'aumentamos el contador de campos


indice = indice + 1 ' aumentamos el index
indice2 = indice2 + 1


Load TextCampo(indice) ' creamos el control
TextCampo(indice).Visible = True ' lo hacemos visible
TextCampo(indice).Top = TextCampo(indice - 1).Top + TextCampo(indice).Height + 120 ' movemos el control

Load Campo(indice2) ' creamos el control
Campo(indice2).Visible = True ' lo hacemos visible
Campo(indice2).Top = TextCampo(indice).Top

Load NumeroCampo(indice2) ' creamos el control
NumeroCampo(indice2).Visible = True ' lo hacemos visible
NumeroCampo(indice2).Caption = indice2
NumeroCampo(indice2).Top = TextCampo(indice).Top


Load Apartado(indice) ' creamos el control
Apartado(indice).Visible = True ' lo hacemos visible
Apartado(indice).Top = TextCampo(indice).Top

Load TextApartado(indice) ' creamos el control
TextApartado(indice).Visible = True ' lo hacemos visible
TextApartado(indice).Top = TextCampo(indice).Top

Load Naturaleza(indice) ' creamos el control
Naturaleza(indice).Visible = True ' lo hacemos visible
Naturaleza(indice).Top = TextCampo(indice).Top


Load ComboNaturaleza(indice) ' creamos el control
ComboNaturaleza(indice).Visible = True ' lo hacemos visible
ComboNaturaleza(indice).AddItem "observable"
ComboNaturaleza(indice).AddItem "medible"
ComboNaturaleza(indice).AddItem "comprobable"
ComboNaturaleza(indice).Top = TextCampo(indice).Top

End Sub

Todos estos elementos se añaden al frame, y el frame tiene la propiedad ContinuosScroll=True, por lo que se supone que conforme voy añadiendo campos pues debería de salir y no es así.

Por otro lado he probado a ir agrandando el ancho del frame, de forma que cada vez que se pulsa el botón pues hacer lo siguiente:
Contenedor.Height=Contenedor.Height+220
y ahí si que sale el Scroll, pero claro al añadir una cantidad de campos, el scroll no es capaz de llegar a la cantidad de campos que se van añadiendo, además de que el contenedor sobrepasa el ancho del formulario y por tanto esa solución no es muy viable.

¿alguna ayuda por favor?

Gracias, tono.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder