2016-08-11 29 views
1

我在WindowsForms中有一個名爲grid1的網格。在C中調用函數十字線#

我知道想從另一個線程呼叫grid1.Series.Clear()

現在我正在得到通常的交叉線程異常,即線程正在觸及grid1,但另一個線程創建它。

我發現很多例子如何調用grid1的直接功能。

但是如何通過調用Clear() GridClass中的SeriesCollection函數?

回答

-1

此代碼是在比創建GRID1控制

grid1.Invoke((MethodInvoker)(() => grid1.Series.Clear())); 
+0

這個答案有什麼問題? – Mark

1

類似下面的線程的線程上運行:

grid1.BeginInvoke(new MethodInvoker(() => grid1.Series.Clear())); 
1

也許這會有所幫助。

如果你想創建一個函數,這是一個例子。

delegate void FunctionNameCallBack(InputParams); 
private void FunctionName(InputParams) 
{ 
    if (this.InvokeRequired) 
    { 
     var d = new FunctionNameCallBack(FunctionName); 
     this.Invoke(d, InputParams); 
    } 
    else 
    { 
     // Your Code here. 
    } 
}