SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: rulsly en Sábado 21 de Septiembre de 2002, 23:32
-
Estoy haciendo una aplicacion en visualbasic6 con un formulario principal MDI y los demas forms son forms normals con la opcion MDIchild=true.
Mi problema es que cuando antes de mostrar un formulario accedo a uno de sus controles para inicializarlo(como poner los datos del cliente antes de mostrar el formulario) este se muestra en pantalla antes de que llegue a la instruccion form.show. es decir, se muestra en pantalla y luego se rellena con los datos que yo quiero. Antes utilizaba forms normales( MDI ) y esta forma me funcionaba tal como queria, rellenaba y luego yo mostraba o no el form a mi antojo.
¿hay alguna opcion que haga que esto no suceda?
Gracias y saludos.
-
Debes inicializar los valores en el evento Load del formulario. Siempre que hagas referencia a un objeto visual del formulario desde fuera del formulario este se hará visible.
Puedes hacer referencia a variables o propiedades del mismo sin que esto te ocurra, pero no a objetos.
Es normal realizar una función de inicialización del formulario en el que se rellenan los valores, pero dentro del formulario, tras haberle pasado un parámetro al mismo que nos indica como se debe abrir y que se debe rellenar.
No se si me he enrrollado mucho pero espero que te sirva
-
mmm... no lo he probado en MDI pero podria servir...
en la forma Child declara variable Publicas p.ej.
Public prmNOMBRE as String
Public prmDIRECCION as String
....
Luego en el evento load de la forma Child...
Private Sub Form_Load()
TxtNombre.Text = prmNOMBRE
TxtDireccion.Text = prmDIRECCION
End Sub
y cuando la mandes a llamar desde tu forma MDI principal.....
FrmMyChild.prmNOMBRE = varNombre
FrmMyChild.prmDIRECCION = VarDireccion
FrmMyChild.Show
.......
Espero te sea de utilidad....