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

Progressbar + timer C#

Estas en el tema de Progressbar + timer C# en el foro de .NET en Foros del Web. Hola, tengo otra duda con el control de progressbar, el asunto que en 2 textbox ingreso un numero en cada uno, le doy a un ...
  #1 (permalink)  
Antiguo 10/12/2011, 13:02
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 8 meses
Puntos: 9
Pregunta Progressbar + timer C#

Hola, tengo otra duda con el control de progressbar, el asunto que en 2 textbox ingreso un numero en cada uno, le doy a un boton que se llama suma, y me los suma y muestra el resultado en un messagebox, pero cada ves que sumo, primero carga el progressbar con un timer, ahora aqui viene mi consulta

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
  #2 (permalink)  
Antiguo 10/12/2011, 13:08
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: Progressbar + timer C#

Cuando se llene debe saltar un evento tipo "Completed" así que simplemente es capturarlo y hacer la barra invisible. Sobre la primera pregunta... no he entendido lo que quieres hacer ni como lo estás haciendo ahora, pero parece que hay algo que no controlas bien.
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 10/12/2011, 20:27
Avatar de 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
  #4 (permalink)  
Antiguo 10/12/2011, 21:56
Avatar de baker1562  
Fecha de Ingreso: marzo-2011
Ubicación: Puntarenas
Mensajes: 261
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: Progressbar + timer C#

grax por la primera duda, en lo de la escoder la progressbar se pone visible=false como predeterminado, cuando se inicia la suma, se pone en progressbar.visible=true, cuando termina de cargar muestra el mensaje y cambia a visible=false
  #5 (permalink)  
Antiguo 11/12/2011, 12:15
Avatar de 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
grax por la primera duda, en lo de la escoder la progressbar se pone visible=false como predeterminado, cuando se inicia la suma, se pone en progressbar.visible=true, cuando termina de cargar muestra el mensaje y cambia a visible=false
claro pero cuando vuelvas hacer clic en el boton que da inicio al progress te mandará error si es que no lo seteaste de nuevo a 0...Porque continuaria desde 100 para adelante...y claro se me olvidó poner lo de visible xd...

Etiquetas: c#, progressbar, time
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 10:15.