對控件的操作應該交給創建控件的線程去完成,先判斷InvokeRequired,然後調用Invoke方法
比如:
//使用Invoke方法來設置進度條?private?void?RunWithInvoke()
{
int?value?=?progressBar.Value;
while?(value<?progressBar.Maximum)
{
//如果是跨線程調用?
if?(InvokeRequired)
{
this.Invoke(new?SetProgressBarValue(SetProgressValue),?value++);
}
else
{
progressBar.Value?=?++value;
}
}
}