Visual Basic.NET - Crear formulario de espera

 
Vista:

Crear formulario de espera

Publicado por Jimmy Torres F. (2 intervenciones) el 20/06/2007 16:29:21
Mi duda es la siguiente: en el programa que estoy realizando existen varios procesos de carga de datos que tardan mucho tiempo en ejecutarse, y pues el usuario no puede quedarse esperando sin ver nada que le indique que está sucediendo, así que necesito que mientras un proceso se esté ejecutando en un formulario, aparezca otro formulario con un gif o algo así.
Ya lo he intentado pero a la hora de llamar al formulario de espera todo funciona bien el formulario de espera se cierra cuando termina el proceso del otro formulario, pero cuando el formulario de espera aparece la imagen gif se queda pegada.
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

RE:Crear formulario de espera

Publicado por OliBeer (391 intervenciones) el 20/06/2007 16:47:51
Hola!!!

Oiie hace poco, yo estaba haciendo algo parecido, pero no lo terminé, porque no fue necesario. Dices que sí pudiste cerrar la pantalla hija cuando el proceso de la padre terminó, Podrías decirme cómo lo hiciste.

Y, a qué te refieres con que la Imagen se queda pegada.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear formulario de espera

Publicado por Jimmy Torres F. (2 intervenciones) el 20/06/2007 16:57:32
La pantalla hija la cerré desde el formulario padre cuando este terminaba el proceso que estaba haciendo.
Con la imagen, me refiero a que no se ejecuta si no que se ve un pedazo de la pantalla del formulario padre en el formulario hijo pero solo en la parte del cuadro de la imagen. Como cuando tu pc se queda pegada y los gráficos se ven desfigurados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear formulario de espera

Publicado por Harold V (411 intervenciones) el 20/06/2007 18:18:14
Este sencillo ejemplo muestra un form mientras se ejecuta el proceso
cuando termina el proceso se cierra.

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim frm As New Form2
frm.Show()
For x As Int32 = 0 To 10000
frm.Text = x
ListBox1.Items.Add(x)
Application.DoEvents()
Next
frm.Close()
MessageBox.Show("Listo")

End Sub
End Class



Imports System.Drawing

Public Class Form2

Dim animatedImage As Image = Image.FromFile("C:\c29.gif")
Dim anima As System.Drawing.ImageAnimator
Private currentlyAnimating As Boolean = False

Public Sub AnimateImage()
If Not currentlyAnimating Then
ImageAnimator.Animate(animatedImage, New EventHandler(AddressOf Me.OnFrameChanged))
currentlyAnimating = True
End If
End Sub

Private Sub OnFrameChanged(ByVal o As Object, ByVal e As EventArgs)
Me.Invalidate()
End Sub

Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)

AnimateImage()
ImageAnimator.UpdateFrames()

e.Graphics.DrawImage(Me.animatedImage, New Point(0, 0))
End Sub

Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.ControlBox = False
End Sub

End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear formulario de espera

Publicado por SAPeT_Dj (1 intervención) el 14/07/2014 13:13:55
He usado lo que has dicho Harold V.

Yo lo que hago es sacar un listado de excel (genero las tablas por código) y tarda como unos 10 segundos.
Muestro mi formulario pero el .Gif no se mueve mientras hace la tarea, sólo se mueve si pongo antes de la tarea un bucle con System.Threading.Thread.Sleep.

¿Cómo lo hago si mi tarea larga no es un bucle simplemente que es una tarea que excel tarda en completar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar