【发布时间】:2012-09-13 01:24:00
【问题描述】:
我在这里做错了什么?
我的计划是从不同的线程更改标签文本属性,而不会出现“跨线程操作无效”异常。
private void button1_Click(object sender, EventArgs e)
{
Thread thread1 = new Thread(new ThreadStart(ChangeTime));
thread1.Start();
}
delegate void SetTimeDelegate();
private void ChangeTime()
{
while (true)
{
if (lbl1.InvokeRequired)
{
SetTimeDelegate setTime = new SetTimeDelegate(ChangeTime);
lbl1.Invoke(setTime);
}
else
{
lbl1.Text = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss tt");
Thread.Sleep(1000);
}
}
}
【问题讨论】:
-
看起来你没有调用。老实说,我不知道你想在这里做什么。
-
我正在尝试将文本从表单的标签更改为从新线程调用的当前日期时间
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# .net multithreading