private void Timer_Tick()
{
Runtime_UpdateUI();
while (true)
{
DateTime t = DateTime.Now
//在VS中直接执行(不调试),可以正常运行。但是如果调试的话,就会停在下面一句。提示不能跨线程操作。这是怎么会事?
lblClock1.Font = new Font("宋体", 15);
lblClock1.Text = t.ToString();
Thread.Sleep(1000);
} }
这个方法是在线程中执行的,因为你有his.threadClock = new Thread(new ThreadStart(Timer_Tick));
因此,lblClock1.Font就是跨线程访问了,这里也要Invoke或BeginInvoke
{
Runtime_UpdateUI();
while (true)
{
DateTime t = DateTime.Now
//在VS中直接执行(不调试),可以正常运行。但是如果调试的话,就会停在下面一句。提示不能跨线程操作。这是怎么会事?
lblClock1.Font = new Font("宋体", 15);
lblClock1.Text = t.ToString();
Thread.Sleep(1000);
} }
这个方法是在线程中执行的,因为你有his.threadClock = new Thread(new ThreadStart(Timer_Tick));
因此,lblClock1.Font就是跨线程访问了,这里也要Invoke或BeginInvoke
lblClock1.Font = new Font("宋体", 15);
lblClock1.Text = t.ToString(); }));这样试试