使用ProgressBar特定时间

时间:2013-01-28 14:37:46

标签: c# winforms

我希望我的ProgressBar在我的代码中的某个位置启动并运行总共几秒钟,直到我的文件完成,当然我知道我的文件运行需要多长时间。 我尝试在MSDN上阅读,但我不明白如何使用它。

我的应用程序运行文件(wireshark文件,使用bittwist发送数据包),每个文件将运行几秒钟,我希望选项可以看到进度。

例如,我想将ProgressBar设置为30秒运行 我该怎么办?

1 个答案:

答案 0 :(得分:2)

也许你想要这样的东西:

public void AnimateProgBar (int milliSeconds)
{
    if (!timer1.Enabled)  {
        progressBar1.Value = 0;
        timer1.Interval = milliSeconds / 100;
        timer1.Enabled = true;
    }
}

private void timer1_Tick(object sender, EventArgs e)
{
    if (progressBar1.Value < 100) {
        progressBar1.Value += 1;
        progressBar1.Refresh();
    } else {
        timer1.Enabled = false;
    }
}

然后,您只需致电AnimanteProgBar(2000)即可在2秒内让ProgressBar动画。

编辑:对不起,我在VB.NET中发布了代码。修改为C#。
编辑:您可以添加处理程序并以这种方式调用函数(例如):

    private void Form1_Load(object sender, EventArgs e)
    {
        this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
        AnimateProgBar(2000);
    }