Ver Mensaje Individual
  #3 (permalink)  
Antiguo 10/12/2011, 20:27
Avatar de edbc92
edbc92
 
Fecha de Ingreso: octubre-2010
Ubicación: Lima - Los Olivos
Mensajes: 93
Antigüedad: 14 años
Puntos: 5
Respuesta: Progressbar + timer C#

Cita:
Iniciado por baker1562 Ver Mensaje

1-porque se muestra el messagebox cuando aun falta un poquito para que se llene el progressbar, si yo en el programa le puse, que hasta el que llegue al valor maximo del progressbar se muestre el messagebox?

2-como hago para desaparacer el progressbar despues de que se llene, y que vuelva aparecer cuando haga de nuevo la suma(estilo firefox, que cuando se carga una pagina se muestra y despues se desparece)

Grax
1. No estoy seguro, pero creo que es porque el progress nunca va estar completamente exacto, eso te puedes fijar en cualquier programa que tenga un progress; verás que siempre sueltan su mensaje un poco antes del final.

2. Puedes declarar una variable global en un modulo y 'setearlo' a 0. Y en tu timer podría poner algo asi:

Código vb:
Ver original
  1. While pgb_test.Value < 100
  2.             lbl.Text = "cargando"
  3.             ' lbl.Text = "cargando"
  4.            pgb_test.Value = pgb_test.Value + 1
  5.  
  6.             If pgb_test.Value = pgb_test.Maximum Then
  7. 'x es la variable local y aca estoy guardando el valor actual del pbar, que sería 100
  8.                x = pgb_test.Value
  9.  
  10.  
  11.  
  12.                 Timer1.Enabled = False
  13.             End If
  14.         End While

Y en tu button iria algo asi:

Código vb:
Ver original
  1. Timer1.Interval = 100
  2.         Timer1.Enabled = True
  3.  
  4.         If pgb_test.Value = x Then
  5.  
  6.             ' lbl.Text = "ok"
  7.            If MsgBox("O_O") = MsgBoxResult.Ok Then
  8.                 lbl.Text = "listo"
  9.  
  10. 'Una vez que pones ok o cierras el msgbox; la variable x, lo seteas de nuevo a 0 al igual que el valor de tu progressbar
  11.                pgb_test.Value = 0
  12.                 x = 0
  13.             End If
  14.         End If