在WinForms中使用Timer增加ProgressBar

时间:2011-08-31 15:34:12

标签: c# winforms visual-studio-2010

我有一个间隔为1分钟的计时器,我想与它并行增加一个进度条。我正在使用Winforms和C#。我怎么能这样做?

请帮帮我

1 个答案:

答案 0 :(得分:14)

以下是如何将Timer控件与进度条一起使用的示例。首先,创建一个新的Timer和一个ProgressBar。然后,使用此函数开始加载表单的时间:

timer1.Enabled = true; // Enable the timer.
timer1.Start();//Strart it
timer1.Interval = 1000; // The time per tick.

然后,为勾选创建一个事件,如下所示:

timer1.Tick += new EventHandler(timer1_Tick);

创建事件的功能:

void timer1_Tick(object sender, EventArgs e)
{
    throw new NotImplementedException();
}

在此之后,将代码添加到tick函数,为进度条增加值,类似于:

progressBar1.Value++;

不要忘记为进度条设置最大值,您可以通过将此代码添加到form_load函数来执行此操作:

progressBar1.Maximum = 10; // 10 is an arbitrary maximum value for the progress bar.

此外,不要忘记检查最大值,以便计时器停止。您可以使用以下代码停止计时器:

timer1.Stop();

完整代码:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        timer1.Enabled = true;
        timer1.Start();
        timer1.Interval = 1000;
        progressBar1.Maximum = 10;
        timer1.Tick += new EventHandler(timer1_Tick);
    }

    void timer1_Tick(object sender, EventArgs e)
    {
        if (progressBar1.Value != 10)
        {
            progressBar1.Value++;
        }
        else
        {
            timer1.Stop();
        }
    }
}