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:
Y este el código del proceso principalPrivate 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
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