【发布时间】:2011-11-02 21:16:38
【问题描述】:
我尝试在线程执行中设置label 的新值,使用以下代码:
private void DoWork()
{
Invoke( new SetLabelMethod(SetLabelValue),
new object[] { string.Format("running {0}({1})", nome, id) });
}
调用函数:
th = new Thread(DoWork);
th.Start();
public delegate void SetLabelMethod(string msg);
private void SetLabelValue(string msg)
{
label.Text = msg;
}
它给了一个Parameter count mismatch 如何修复它?
【问题讨论】:
-
new object[]的大括号在哪里? Invoke() 方法的签名是什么?是Control.Invoke(Delegate, Object[])??? -
Invoke的目标是什么? -
我在这里输入错误。
-
你没有说
Invoke的调用目标是什么。没有它,我们就被困住了。当您拨打Invoke时,this是什么? -
我放弃了。你还没说目标是什么。
标签: c# .net multithreading