正確使用Thread 更新Form 上的進度條 Progress
public partial class Test : Form
{
delegate void deleProgressSet(int i);
public Test_Progress()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
progressBar1.Minimum = 0;
progressBar1.Maximum = 1000;
Thread oThread = new Thread(new ThreadStart(StartThread));
oThread.Start();
}
private void StartThread()
{
for (int i = 0; i < 1000; i++ )
{
Thread.Sleep(1);
//progressBar1.Value = i;
ShowMessage(i);
}
}
private void ShowMessage(int i)
{
if (InvokeRequired)
{
deleProgressSet dele = new deleProgressSet(ShowMessage);
BeginInvoke(dele,i);
}
else
{
progressBar1.Value = i;
}
}
}