Ayuda: mostrar un formulario hasta que se cargue otro

Txola
04 de Septiembre del 2003
Hola,

Hoy mismo he lanzado una pregunta sobre la BARRA DE PROGRESO. Si esta opción fuese complicada, tampoco me importaría saber cómo hacer que se visualice un formulario mientras se cargue otro. Es decir, lo que quiero es, al pulsar un botón del formulario principal y mientras el programa está trabajando, que se indique que se está cargando otro formulario, para que de esta forma el usuario no se desespere.

POR FAVOR, AYUDENME!!!!!!!!

Juan
04 de Septiembre del 2003
A ver si este ejemplo te ayuda.Para verlo necesitas
crear un proyecto con 3 formularios(form1, form2 y form3),
Y agregar este códigoe en Form1:

Private Sub Form_Click()
Form2.Show
Form2.Refresh
Form3.Show
End Sub

Y este en Form3:

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Form_Load()
'simulamos un retardo de 3 segundos ya
'que este formulario se carga inmediatamente
Sleep 3000
'Descargamos el formulario de aviso
Unload Form2
End Sub

Form2 no necesita código, basta con poner un Label
que indique que Form3 se está cargando.

Juan
04 de Septiembre del 2003
Bueno, voy a intentar ayudarte con lo del ProgressBar.
En el ejemplo anterior añade un ProgressBar a Form2,
y cambia el código de Form3 por este otro:

Private Sub Form_Load()
'Hacemos un retardo de 0.5 segundos que
'simula la carga de algunos datos
Sleep 600
Form2.ProgressBar1.Value = Form2.ProgressBar1.Value + 20
Sleep 600
Form2.ProgressBar1.Value = Form2.ProgressBar1.Value + 20
Sleep 600
Form2.ProgressBar1.Value = Form2.ProgressBar1.Value + 20
Sleep 600
Form2.ProgressBar1.Value = Form2.ProgressBar1.Value + 20
Sleep 600
Form2.ProgressBar1.Value = Form2.ProgressBar1.Value + 20
'Descargamos el formulario de aviso
Unload Form2
End Sub

El problema con el progressbar es que él solito no
aumenta su valor y hay que ir sumando a su propiedad
Value.

Supongo que tu formulario tarda en cargar porque
en el evento Load ejecuta un código que retrasa su
carga. Pues bien lo que debes hacer es intercalar,
entre medias de ese código, lineas que aumenten
el Value del ProgressBar de una forma proporcional
al tiempo de carga.

Txola
04 de Septiembre del 2003
Muchas gracias Luis por tus explicaciones.

He aplicado tu primer ejemplo a mi programa y ha funcionado perfectamente. Ahora lo voy a intentar con el ProgressBar, para que quede + chulo.

Muchííííííí´simas gracias.