Control 不能在创建它的 Thread 之外被调用。但可以通过 invoke 来保证 Control 线程安全。

在跨线程更新的时候,Control 会检查 CurrentThread 是否为创建 Control 的线程,并报错!

示例代码如下: 

private void btnStart_Click(object sender, EventArgs e)
{
     
//注意:特地不使用 Timer 控件
     Thread thread = new Thread(Fun);
     thread.Start(DateTime.Now.ToString());
}

//报错:线程间操作无效: 从不是创建控件“lblTime”的线程访问它。
private void Fun(object datetime)
{
     lblTime.Text 
= (string)datetime;
}

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2021-07-17
  • 2021-07-09
  • 2021-08-13
  • 2022-12-23
猜你喜欢
  • 2021-06-02
  • 2021-09-07
  • 2021-05-24
  • 2022-12-23
相关资源
相似解决方案