views:

306

answers:

2
public partial class Form1 : Form
{
  //....
  private void timer1_Tick(object sender, EventArgs e)
  {
     if (this.progressBar1.Value >= 100)
     {
         this.timer1.Stop();
         this.timer1.Enabled = false;
     }
     else
     {
         this.progressBar1.Value += 10;
         this.label1.Text = Convert.ToString(this.progressBar1.Value);                
     }
  }
  //......
}

Here I used a timer to update the progress bar value. It works fine in XP. But in Windows7 or Vista when the progress value is set to say 100 but the graphical progress is not 100!

Searching some threads found that its for animation lag in Vista/Windows7.

How to get rid of this thing?

I don't want to loose the look and feel of Vista/Window7 using:

SetWindowTheme(progressBar1.Handle, " ", " ");
+1  A: 

This is just how the stupid progress bars work in Vista and later.

There is no fix.

Complain to Microsoft.

leppie
Why the downvote?
leppie
I think they downvoted your comments is neither helpfull, insightfull or respectfullIf there is indeed such a bug, the devs @ microsoft would probably help if you new who to contact. I just tested this on windows 7 works, like a charm
TimothyP
A: 
public partial class Form1 : Form
{
  //....
  private void timer1_Tick(object sender, EventArgs e)
  {
    if (this.progressBar1.Value >= 100)
    {
     this.timer1.Stop();
     this.timer1.Enabled = false;
    }
    else
    {
      int tempValue = this.progressBar1.Value + 10;
      if (tempValue < 100 && tempValue >=0 )
      {
       this.progressBar1.Value = tempValue + 1;
       this.progressBar1.Value = tempValue;
      }
      else if (tempValue >= 100)
      {
       this.progressBar1.Value = 100;
       this.progressBar1.Value = 99;
       this.progressBar1.Value = 100;
      }
     this.label1.Text = Convert.ToString(this.progressBar1.Value);                
    }
  }

//......
}

The else part makes the progress bar looks OK now. But there should have been some standard way for progress bars. The idea is from from Fozi's comment here

Samir