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# Progressbar не обновляется точно в Vista или Windows7
Поиск в некоторых потоках, найденных для задержки анимации в Vista/Windows7.
Как избавиться от этой вещи?
Я не хочу потерять внешний вид Vista/Window7 с помощью:
SetWindowTheme(progressBar1.Handle, " ", " ");
Что вы видите вместо этого? Он работает так, как ожидалось для меня ... –
Метка, показывающая прогресс = 100%, что закончено! Но индикатор прогресса все еще кажется 80% или 90%. Не то, что мы хотим, не так ли? – Samir
Я предполагаю, что вы используете Windows Forms здесь (поскольку в вашем коде нет ссылки Dispatcher), и я должен согласиться с codeka, это работает как шарм здесь ... Нам понадобится дополнительная информация – TimothyP