Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/04/2012, 16:01
Avatar de mauro_bernal_rios
mauro_bernal_rios
 
Fecha de Ingreso: abril-2008
Ubicación: Mendoza
Mensajes: 88
Antigüedad: 16 años
Puntos: 2
Busqueda ProgressBar de Fondo

Buenas Tardes:
Le planteo mi problema.

Ejecuto un proceso con una aplicación ("PROCESOX"), y debido a que no se que tiempo llevará el mismo es que he colocado en el mismo formulario una barra ("PROGRESSBAR1). La idea es que mientras se esté ejecutando el PROCESOX se inicia un proceso secundario que llene y vacie la barra, simplemente para que el usuario sepa que está trabajando.

Mi problema es que cuando ejecuto el PROCESOX se pone la pantalla en blanco, pues estimo que le consume recursos a la PC, y por lo tanto no se ve la barra que aumenta y disminuye, debido a que tambíen está en blanco.

Alguna idea de como hacer que no se ponga en blanco la aplicación?
O por lo menos el proceso encargado de mostrar la barra?

Este el código del subproceso que llena la barra y la vacia
Código:
 Private Sub ThreadTask()

        Dim stp As Integer
        Dim newval As Integer
        Dim rnd As New Random()
        Do
            stp = ProgressBar1.Step * rnd.Next(-1, 2)
            newval = ProgressBar1.Value + stp
            If newval > ProgressBar1.Maximum Then
                newval = ProgressBar1.Maximum
            ElseIf newval < ProgressBar1.Minimum Then
                newval = ProgressBar1.Minimum
            End If
            ProgressBar1.Value = newval
            Thread.Sleep(100)
        Loop
    End Sub
Y este el código del proceso principal
Código:
Private trd As Thread
Private Sub Form_Main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        CheckForIllegalCrossThreadCalls = False

  trd = New Thread(AddressOf ThreadTask)
        trd.IsBackground = False
        trd.Start()
  'Arranco mi proceso 
  PROCESOX.start

    End Sub
__________________
Mauro Bernal
Sistemas y Web
http://maurobernal.com.ar
[email protected]