111,094
社区成员




public partial class Form1 : Form
{
bool funcOver = false;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
progressBar1.Maximum = 100;
progressBar1.Step = 1;
Thread t = new Thread(new ThreadStart(aquireWork));
t.IsBackground = true;
t.Start();
}
private void aquireWork()
{
int progressN = 0;
while (progressN <= progressBar1.Maximum - progressBar1.Step)
{
if (!funcOver)
{
progressN += progressBar1.Step;
SetProg(progressN);
Thread.Sleep(10);
}
else
{
SetProg(100);
}
}
}
private void SetProg(int p)
{
if (progressBar1.InvokeRequired)
{
progressBar1.Invoke(new Action(()=>{progressBar1.Value=p;}));
}
else
{
this.progressBar1.Value = p;
}
}
}
你可以自己测试下 找一个适合你的sleep时间把