我正在尝试在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();
}
答案 0 :(得分:3)
那是因为你在达到最大值时将值设置为0。所以它给你的印象是它只能填充高达90%。然而,在您的第一个示例中,您会在ts.Value = 0
之前显示消息框。
ts.Value = 0
才会触发,因此最多显示100%