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);
}
}
//......
}
這裏我使用了一個計時器來更新進度欄值。它在XP中正常工作。但在Windows7或Vista中,當進度值設置爲100,但圖形進度不是100!C#進度條未在Vista或Windows7中準確更新
搜索某些線程發現它的動畫滯後於Vista/Windows7。
如何擺脫這個東西?
我不想使用鬆散VISTA/Window7的的外觀和感覺:
SetWindowTheme(progressBar1.Handle, " ", " ");
你在看什麼呢?它按預期對我工作... – 2010-04-06 06:33:51
顯示進度= = 100%的標籤完成!但進度條似乎仍然是80%或90%。不是我們想要的,對吧? – Samir 2010-04-06 06:36:32
我假設你在這裏使用Windows窗體(因爲你的代碼中沒有Dispatcher引用),我必須同意codeka,它在這裏的作用就像一個魅力... 我們將需要更多的細節 – TimothyP 2010-04-06 06:44:15