C#委托语法问题

C#委托语法问题,c#,C#,到目前为止,我掌握的代码是: private void MyThreadRoutine() { this.Invoke(this.showProgressGifDelegate); ModifyConnectString.main(); this.Invoke(this.HideProgressGifDelegate); } public void showProgressGifDelegate() { pictureBox2.Visible = true; } p

到目前为止,我掌握的代码是:

private void MyThreadRoutine()
{
    this.Invoke(this.showProgressGifDelegate);
    ModifyConnectString.main();
    this.Invoke(this.HideProgressGifDelegate);
}



public void showProgressGifDelegate() { pictureBox2.Visible = true; }
public void HideProgressGifDelegate() { pictureBox2.Visible = false; }
据我所知,这应该是可行的,但它不能编译,因为我得到了错误

'参数1:无法从'method group'转换为'System.Delegate'' 和“最匹配的重载方法” 'System.Windows.Forms.Control.Invoke(System.Delegate,参数 对象[])“具有一些无效参数”


关于“我的代码”的正确语法,您有什么想法吗?

您应该将代码包装成一个,以便将您的
委托
转换为
委托
的实例:

this.Invoke(new MethodInvoker(this.showProgressGifDelegate));
this.Invoke(new MethodInvoker(this.HideProgressGifDelegate));

谢谢,我很快会接受你的回答。不着急。明天我也会在这里;)。很高兴我能帮忙。另请参见可能重复的问题,它还有一些其他有用的提示。