我正在使用
Winforms中的滚动条执行一些测试.我有以下代码,似乎是正确的,但我从来没有看到滚动条完全填充.当滚动条值达到100时,滚动绘制如此图所示(约50%).
这是我正在使用的示例代码:
private void animate_scroll(object sender,EventArgs e) { progressBar1.Minimum = 0; progressBar1.Maximum = 100; progressBar1.Step = 1; ThreadPool.QueueUserWorkItem(new WaitCallback(AnimateScroll)); } private void AnimateScroll(object state) { while (true) { mValue = (mValue + 1) % 101; this.Invoke((MethodInvoker)delegate() { progressBar1.Value = mValue; System.Diagnostics.Debug.WriteLine(progressBar1.Value); }); System.Threading.Thread.Sleep(10); } } private int mValue = 0;
解决方法
根据以下
David Heffernan’s
answer,问题是由Windows 7中添加的动画引起的.该问题得到修复,执行以下操作:
progressBar1.Value = mValue; progressBar1.Value = mValue - 1;