我已經看遍了所有,我找不到答案。 是更好,更糟糕的,或漠不關心的使用方法:Control.Invoke與具有TaskScheduler的任務
{
...
RefreshPaintDelegate PaintDelegate = new RefreshPaintDelegate(RefreshPaint);
Control.Invoke(PaintDelegate);
}
protected void RefreshPaint()
{
this.Refresh();
}
......或者......
Task.Factory.StartNew(() =>
{
this.Refresh();
},
CancellationToken.None,
TaskCreationOptions.None,
uiScheduler);
但是['BeginInvoke'](http://msdn.microsoft.com/en-us/library/system.windows.forms.control.begininvoke.aspx)不會。與「Invoke」相同的語法,但它是異步的。 – 2011-04-28 12:07:48
查看更多信息,請參閱[Invoke()和BeginInvoke()](http://stackoverflow.com/q/229554/616329)之間的區別。 – 2011-04-28 12:10:43
所以Task.Factory.StartNew()會更加開放並行嗎?它會安排刷新發生,並允許調用線程繼續,對不對? – 2011-04-28 12:10:48