c#进度条不更新

时间:2013-07-22 16:48:47

标签: c# progress-bar

我正在尝试在c#中执行进度条但是我无法更新它达到90%并重置。但如果我显示一个消息框,那么它将填满。 这段代码一直填满

    public void mess(string s)
    {
        MessageBox.Show("l");
    }
    public void ProgressForm1Method(double min, double max)
    {
        ts.Maximum = (int)max;
        ts.Value = (int)min;
        this.Update();
        Application.DoEvents();
        if (ts.Value == ts.Maximum)
        {
            mess("l");
            ts.Value = 0;
        }
        ts.Invalidate();
    }

这不是

    public void mess(string s)
    {
        MessageBox.Show("l");
    }
    public void ProgressForm1Method(double min, double max)
    {
        ts.Maximum = (int)max;
        ts.Value = (int)min;
        this.Update();
        Application.DoEvents();
        if (ts.Value == ts.Maximum)
        {
            ts.Value = 0;
        }
        ts.Invalidate();
    }

1 个答案:

答案 0 :(得分:3)

那是因为你在达到最大值时将值设置为0。所以它给你的印象是它只能填充高达90%。然而,在您的第一个示例中,您会在ts.Value = 0之前显示消息框。

单击关闭消息框后,

ts.Value = 0才会触发,因此最多显示100%