假设我有这个:
public event ItemListCharged ListOfItemCharged;
protected virtual void OnItemListCharged(TreeNode t)
{
ListOfItemCharged?.Invoke(t);
}
OnItemListCharged由一个Thread使用,我将调用" ProcessDataThread"。问题在于这个课程:
public Form1()
{
InitializeComponent();
formData = new Data(this);
formData.ListOfItemCharged += displayTree;
}
private void displayTree(TreeNode racine)
{
liste.Nodes.Add(racine);
}
displayTree由主线程运行," winforms线程"。所以我每次都遇到异常,因为OnItemCharged事件是由ProcessDataThread引发的。
有没有办法通过引发事件来更新侦听器而不传递另一个委托来在winform线程上调用它?