WPF Progressbar

Total Post:70


 2277  View(s)
Rate this:

In my WPF application i have to show a progressbar progress with in a timer tick event, which i am writing as below,

System.Windows.Forms.Timer timer;

public MainWindow()


    timer = new System.Windows.Forms.Timer();

    timer.Interval = 1000;

    this.timer.Tick += new System.EventHandler(this.timer_Tick);


load event as below

private void Window_Loaded(object sender, RoutedEventArgs e)


      progressBar1.Minimum = 0;

      progressBar1.Value = DateTime.Now.Second;

      progressBar1.Maximum = 700;



And at last in tick event,

private void timer_Tick(object sender, EventArgs e)


    Duration duration = new Duration(TimeSpan.FromSeconds(20));

    //progress bar animation

    System.Windows.Media.Animation.DoubleAnimation doubleanimation = new    System.Windows.Media.Animation.DoubleAnimation(200.0, duration);

    progressBar1.BeginAnimation(ProgressBar.ValueProperty, doubleanimation);


When i execute my program progressbar shows the progress for two-three bars and then it stops increment. Later there is no effect in the progress at all. What went wrong in my code. Please help!..

  1. Re: WPF Progressbar

    Hi Samuel,

    In my WPF application I have ... System.Windows.Forms.Timer timer;

    That is the wrong type of timer. Use a DispatcherTimer instead.

    When i execute my program progressbar shows the progress for two-three bars and then it stops

    This surprises me, I wouldn't have expected it to work at all. This means you may have oher problems too, like blocking the main (dispatcher) thread.

    You are only setting the Value once, in the Loaded event:

         progressBar1.Value = DateTime.Now.Second;

    There is no change to progressBar1.Value in the Tick event. So it figures that it stops moving.


Please check, If you want to make this post sponsored

You are not a Sponsored Member. Click Here to Subscribe the Membership.