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 @ 2022-04-12 20:01  I Coding  阅读(42)  评论(0编辑  收藏  举报