c#委托语法问题
本文关键字:问题 语法 | 更新日期: 2023-09-27 18:18:41
目前我的代码是:
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 '。委托"和最佳重载方法匹配"System.Windows.Forms.Control.Invoke(系统。委托,参数对象[])'有一些无效参数'
对我的代码的正确语法有什么想法吗?
您应该将您的代码包装在MethodInvoker
中,以便将您的delegate
转换为Delegate
的实例:
this.Invoke(new MethodInvoker(this.showProgressGifDelegate));
this.Invoke(new MethodInvoker(this.HideProgressGifDelegate));