Foros del Web » Programación para mayores de 30 ;) » .NET »

ProgressBar de Fondo

Estas en el tema de ProgressBar de Fondo en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/04/2012, 16:01
Avatar de 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]

Etiquetas: net, threadtask, vb, threads
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:00.