private void button1_Click(object sender, System.EventArgs e)
{
flag=false;
Thread thread=new Thread(new ThreadStart(target));
thread.IsBackground=true;
thread.Start();
}
public void target()
{
try
{
MethodInvoker mi=new MethodInvoker(countPro);
while(!flag)
{
this.Invoke(mi);
Thread.Sleep(1000);
}
}
catch (ThreadInterruptedException e)
{
if (e != null) {}
}
catch (Exception we)
{
if (we != null)
{
//MessageBox.Show(we.ToString());
}
}
}
public void countPro()
{
int min;
double numerator,denominator,completed;
min=this.progressBar1.Minimum;
if(this.progressBar1.Value==this.progressBar1.Maximum)
{
this.progressBar1.Value=this.progressBar1.Minimum;
}
else
{
this.progressBar1.PerformStep();
}
//显示进度
this.textBox1.Text=this.progressBar1.Value.ToString();
numerator=this.progressBar1.Value-min;
denominator=this.progressBar1.Maximum-this.progressBar1.Minimum;
completed=(numerator/denominator)*100.0;
this.label2.Text=Math.Round(completed)+"%";
}
private void button2_Click(object sender, System.EventArgs e)
{
flag=true;
}