c# – 进度条未达到100%

我正在使用 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;

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...