【发布时间】:2011-10-17 19:30:43
【问题描述】:
有可能吗?例如,我需要在线程执行中为标签设置新值。
我试过这个:
private void button1_Click_1(object sender, EventArgs e)
{
Thread th = new Thread(new ThreadStart(DoWork));
th.Start();
}
public void DoWork()
{
while (true)
{
StartSearch(path, ref httpRequest);
}
}
public void StartSearch(string path, ref HttpWebRequest httpRequest) {
foo.GetTopic(path, delegate(string post, string name, string uid)
{
{
if (post.Contains("<font color=\"#0000FF\">"))
{
string msg = string.Format("Post:{0}\r\nby {1}({2})", post, name, uid);
//MessageBox.Show(msg);
labelX.text = msg;
}
}
}
);
}
我收到以下错误:
跨线程操作无效:控件“labelX”从创建它的线程以外的线程访问。
我该怎么做?提前致谢!
【问题讨论】:
标签: c# .net winforms multithreading