c# – 进度条未达到100%

前端之家收集整理的这篇文章主要介绍了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;

猜你在找的C#相关文章