c#中调用函数交叉线程
本文关键字:线程 函数 调用 | 更新日期: 2023-09-27 18:01:57
我在WindowsForms中有一个名为grid1
的网格。
我知道要从另一个线程调用grid1.Series.Clear()
。
现在我得到了通常的跨线程异常,一个线程正在触摸grid1,但另一个线程创建了它。
我找到了很多关于如何调用grid1的直接函数的例子。
但是如何在grid1内从SeriesCollection"Series"调用Clear()
函数?
类似如下:
grid1.BeginInvoke(new MethodInvoker(() => grid1.Series.Clear()));
也许这会有帮助。
如果你想为此创建一个函数,这就是一个例子。
delegate void FunctionNameCallBack(InputParams);
private void FunctionName(InputParams)
{
if (this.InvokeRequired)
{
var d = new FunctionNameCallBack(FunctionName);
this.Invoke(d, InputParams);
}
else
{
// Your Code here.
}
}
此代码在创建grid1控件的线程之外的线程上运行
grid1.Invoke((MethodInvoker)(() => grid1.Series.Clear()));