我有一个动作代表:
public static Action SubscribeForTable;
我用我的Objects
方法加载它
public void SubscribeMe()
{
Parallel.For(0, ACCESS.GetAppCount(), AppCheck);
CheckTable(true);
}
所以我有一个委托,它包含相同的功能但用于不同的对象。
然后我这样做:
Parallel.Invoke(SubscribeForTable);
所以它开始运行,我等待......我等待......但没有任何反应!应用卡住了!然后我启动了我的调试器。
返回SubscribeMe()
功能
Parallel.For(0, ACCESS.GetAppCount(), AppCheck); //OK
CheckTable(true); // lets see what is in
然后我看了这个功能..
delegate void CheckTableCallback(bool check);
private void CheckTable(bool Subscribed)
{
if (DataGridView1.InvokeRequired) // OK
{
CheckTableCallback Safe = new CheckTableCallback(CheckTable); // OK
DataGridView1.Invoke(Safe, new Object[] {Subscribed}); //HANGS HERE!
}
else
{
....
所以它挂了DataGridView.Invoke
。为什么这样?希望我已经正确解释了我的问题。