en

MSGuayaquil

Recursos esenciales para el desarrollador .NET

Progress bar

Último post 12-20-2006 6:14 AM escrito por leo_edith0630. 1 respuestas.
Página 1 de 1 (2 elementos)
Ordenar mensajes: Anterior Siguiente
  • 12-20-2006 6:14 AM

    Progress bar

    Hola amigos estoy utilizando Visual Studio 2003 windos form , c# el caso es el siguiente.

    Tengo un proceso que demora mucho tiempo y quiero ponerle una barra de progreso, he investigado y he visto ejemplos unicamente de bajar archivo y subir archivos y para ello utilizan un for. Pero mi caso es distinton por que yo unicamente llamo al store procedure y la barra de progreso debe ir de acuerdo al tiempo que este va a demorar. Si alguien tiene el codigo o un ejemplo Muchas Gracias

     

    Leonor

     

    • Puntos de post: 0
  • 01-26-2007 7:15 PM en respuesta a

    • John
    • Contribuyente Top 25
    • Se unió el 04-22-2007
    • Guayaquil
    • Envíos: 22
    • Puntos: 0

    RE: Progress bar

    Para poder usar una barra de progreso en un proceso como el tuyo deberias invocarlo en un hilo de ejecucion, si es un SP que solo te devuelve el resultado una vez que termina la ejecucion del mismo, deberias usar un progressbar que avance cada 100 vuelva al inicio, y asi sucesivamente, te recomendaria usar una clase con un evento que se dispare una vez terminado el proceso en cuestion por ejemplo:

    class Helper{

    public event EventHandler Finished;
    private void OnFinished(EventArgs e){
    if (Finished != null)
    Finished(this, e);
    }

    public void Process(){
    // invocacion a tu SP
    ...
    //una vez que termina lanzas el evento
    OnFinished(EventArgs.Empty);
    }

    }

    en tu formulario donde deseas realizar la llamada al proceso utilizas la clase
    Helper helper = new ();
    helper.Finished += new EventHandler(helper_Finished);
    //apenas invocas al proceso prendes tu proceso que haga avanzar el progressbar de 1-100 sucesivamente hasta que escuches el evento

    private void helper_Finished(object sender, EventArgs e){
    //podria ser un timer el que detengas
    timer1.Stop();
    }

    dime si me cachaste la idea sino para seguir con la explicacion y un poco + de codigo
    • Puntos de post: 0
Página 1 de 1 (2 elementos)
© 2007 MSGuayaquil. Todos los derechos reservados.
Powered By IIS 6 Powered By ASP.NET 2.0 Ofrecido por Community Server (Commercial Edition) Powered By SQL Server 2005
Creado y Administrado por Julio Casal