Problema URGENTE con un scroll
Publicado por tono (34 intervenciones) el 10/03/2007 13:28:18
Hola a todos/as. Tengo un gran problema con algo tan sencillo como un scroll. Vereis, estoy desarrollando una aplicación en visual que tiene una opción de que cuando se pulsa un botón, pues se van añadiendo TextBox al Scrollablecontainer que tengo en mi formulario. Éstos se van añadiendo de forma que se modifica su posición, entonces cada vez que el usuario pincha en el botón "añadir campo" pues se crea una nueva línea en el Scrollablecontainer con sus labels, combox y TextBox correspondientes para que pueda rellenar todos esos campos.
El código utilizado para ello es el siguiente:
If panel.Height<500 Then
panel.Height = panel.Height + 200
End If
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
Pues bien lo que ocurre es que el scroll aparece de forma automática en el panel (Scrollablecontainer) pero llega un momento en el que cuando dejo de aumentar el tamaño del panel, el Scroll ya no funciona: no sigue bajando para visualizar los controles que se están creando dinámicamente.
Me han remitido ya a varios ejemplos OCXs en este foro y tampoco he sido capaz de solucionarlo a través de ellos.
Si alguién tiene alguna idea de como poder solucionar este tipo de cuestión, le estaría muy agradecido.
Sin más, un saludo desde Córdoba (España).
El código utilizado para ello es el siguiente:
If panel.Height<500 Then
panel.Height = panel.Height + 200
End If
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
Pues bien lo que ocurre es que el scroll aparece de forma automática en el panel (Scrollablecontainer) pero llega un momento en el que cuando dejo de aumentar el tamaño del panel, el Scroll ya no funciona: no sigue bajando para visualizar los controles que se están creando dinámicamente.
Me han remitido ya a varios ejemplos OCXs en este foro y tampoco he sido capaz de solucionarlo a través de ellos.
Si alguién tiene alguna idea de como poder solucionar este tipo de cuestión, le estaría muy agradecido.
Sin más, un saludo desde Córdoba (España).
Valora esta pregunta


0