【问题标题】:How to make a simple Progress bar timer in Visual C#如何在 Visual C# 中制作一个简单的进度条计时器
【发布时间】:2019-12-17 21:11:41
【问题描述】:

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

【问题讨论】:

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

标签: c# visual-studio progress-bar


【解决方案1】:

我编写了这个块,程序在其中创建了一个新线程并对其进行迭代。每次迭代,线程都会使用 '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();
    }

【讨论】:

    猜你喜欢
    • 2010-12-20
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 2016-11-25
    相关资源
    最近更新 更多