C# Window应用 跨线程

 

1.采用 CheckForIllegalCrossThreadCalls = false; 

 

2.采用 Control.Invoke方法

 

3.采用 SynchronizationContext方法

来自大佬 --》https://www.cnblogs.com/lzxianren/p/SynchronizationContext.html

 

复制代码
public MainWindow()
{
  SynchronizationContext uiContext = SynchronizationContext.Current;
  Thread thread = new Thread(Run);
  thread.Start(uiContext);   
}        


private void Run(object state) {   SynchronizationContext uiContext = state as SynchronizationContext;   int index = 0;   while(true)   {     Thread.Sleep(10);     uiContext.Post(UpdateUI, "Title " + index.ToString());     index++;   } } private void UpdateUI(object state) {   string text = state as string;   this.Text = text; }
复制代码

 

posted @   I Coding  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示