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...

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时!
搜索一些线程发现它的动画滞后于Vista / Windows7.
如何摆脱这件事?
我不想使用以下方法来释放Vista / Window7的外观:
SetWindowTheme(progressBar1.Handle, " ", " ");
解决方法:
我有同样的问题.佛子的小费帮了我大忙.除非最大值(100%),否则Samir的解决方案将可以正常工作.为了使这项工作也达到100%,必须先增加最大值.以下对我来说很好.
if (NewValue < progressBar.Maximum)
{
progressBar.Value = NewValue + 1;
progressBar.Value--;
}
else
{
progressBar.Maximum++;
progressBar.Value = progressBar.Maximum;
progressBar.Value--;
progressBar.Maximum--;
}
织梦狗教程
本文标题为:在Vista或Windows7中C#进度栏未正确更新


基础教程推荐
猜你喜欢
- C#实现一个控制台的点餐系统 2023-02-03
- C#中Hash table的一些操作方法讲解 2023-01-11
- c# – 有没有办法将对象或列表传递给sql server存储过程? 2023-11-09
- C# windows语音识别与朗读实例 2023-04-26
- C#在Excel表格中插入、编辑和删除批注 2022-12-26
- C#设计模式之建造者模式生成器模式示例详解 2023-06-28
- C#使用HttpHelper框架重启路由器 2023-06-21
- C#实现Json转DataTable并导出Excel的方法示例 2023-01-11
- C#分离数据库时如何断开连接 2023-11-10
- C#学习笔记整理-迭代器模式介绍 2022-11-30