最近老碰到莫名其妙的问题,这次是progressbar了。
问题简单描述:progressbar进度条百分比至少多少时才可见
直接说我测试的结果:与进度条百分比无关,与变量循环的次数相关,第三次才能肉眼可见,前两次看不到。
如下测试:一个窗体上放了一个progressbar,一个button,一个textbox,按钮代码如下:
private void button1_Click(object sender, EventArgs e)
{
progressBar1.Maximum = 100;//设置最大长度值
progressBar1.Minimum = 90;
for (int i = progressBar1.Minimum; i < progressBar1.Maximum ; i++)//循环
{
System.Threading.Thread.Sleep(500);//暂停1秒
textBox1.Text = i.ToString ();
progressBar1.Value = i; //让进度条增加一次
this.Refresh();
}
}
测试结果:
当 progressBar1.Maximum 与progressBar1.Minimum 的值分别为10和0时,按F8测试,循环完i=2时,进度条才可见;
当 progressBar1.Maximum 与progressBar1.Minimum 的值分别为100和0时,按F8测试,循环完i=2时,进度条才可见;
当 progressBar1.Maximum 与progressBar1.Minimum 的值分别为100和90时,按F8测试,循环完i=92时,进度条才可见;
........................................................................................................................................................................i=progressBar1.Minimum+2时,才可见
疑问:
在我逻辑中,i=progressBar1.Minimum+1时就已经可见了呀。