这调用抛出无法从';方法组';到';System.Delegate';

本文关键字:方法 System Delegate 调用 | 更新日期: 2023-09-27 17:58:21

我不知道如何解释,所以这是我的代码:

this.Invoke(listBox1.Items.Add, new Object[] { e.Data.ToString() });

但是,如果我没有任何错误,一切都会好起来的,但遗憾的是,我有两个错误:

错误1

与"System.Windows.Forms.Control.Invoke(System.Delegate,params object[])"匹配的最佳重载方法具有一些无效参数

错误2

参数1:无法从"方法组"转换为"System.Delegate"

我应该做些什么来克服这些例外情况?

这调用抛出无法从';方法组';到';System.Delegate';

Invoke要求您使用委托作为第一个参数。ListBox.Items.Add方法,而不是委托。

然而,你可以使用这个:

this.Invoke((Action)delegate()
{
    listBox1.Items.Add(e.Data.ToString());
});

设置要使用的委托。

Invoke(new Action(() => 
{ 
  // Do it 
}));

您可以检查te控件是否需要调用,如果需要,请调用它:

if(listBox1.InvokeRequired)
     listBox1.Invoke((Action)(()=> listBox1.Items.Add(e.Data.ToString())); //if e.Data is the object to add it to listBox!
相关文章: