Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在visualc中制作一个简单的进度条计时器#_C#_Visual Studio_Progress Bar - Fatal编程技术网

C# 如何在visualc中制作一个简单的进度条计时器#

C# 如何在visualc中制作一个简单的进度条计时器#,c#,visual-studio,progress-bar,C#,Visual Studio,Progress Bar,我需要有一个进度条在5秒内从满到空,我希望能够与表单应用程序的其他部分进行交互。如何实现这一点?我编写了这个程序块,程序在其中创建一个新线程并对其进行迭代。每一次迭代,线程都会使用“timeToComplete”从中消耗一定量,并最终等待一秒钟 private void CountDown() { int timeToComplete = 5; //Time in seconds Thread thread = new Thread(() =&g

我需要有一个进度条在5秒内从满到空,我希望能够与表单应用程序的其他部分进行交互。如何实现这一点?

我编写了这个程序块,程序在其中创建一个新线程并对其进行迭代。每一次迭代,线程都会使用“timeToComplete”从中消耗一定量,并最终等待一秒钟

    private void CountDown()
    {
        int timeToComplete = 5; //Time in seconds

        Thread thread = new Thread(() => {
            while (progressBar1.Value >= 0)
            {
                progressBar1.Value -= progressBar1.Maximum / timeToComplete;
                Thread.Sleep(1000); //Time is 1 second
            }
        });

        thread.Start();
    }

这通常是用你的问题中缺少的一些代码行来完成的。到目前为止,你尝试了什么?您将需要一个后台工作线程或单独的线程来执行此排出逻辑,或者至少将其可视化。使用主UI线程将锁定所有其他控件。Winforms?