Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc));NetServer.Start(); WPF工程里,此線程不可以操作UI元素,避免方法如下: 1、public delegate void ...
當我在使用Cefsharp后,在前端使用JS調用.NET公開類時,遇到了這個問題:調用線程必須為STA,因為許多UI組件都需要, 困惱了小編半天。終於自己敢去嘗試,解決了。 解決辦法 在要執行代碼的外層加入Dispatcher,Dispatcher的作用是用於管理線程工作項隊列,類似於Win 中的消息隊列,Dispatcher的內部函數,仍然調用了傳統的創建窗口類,創建窗口,建立消息泵等操作。 ...
2020-07-30 11:34 0 514 推薦指數:
Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc));NetServer.Start(); WPF工程里,此線程不可以操作UI元素,避免方法如下: 1、public delegate void ...
WPF中,代碼中准備控制控件內容時,有時會報錯:“ 調用線程必須為 STA,因為許多 UI 組件都需要 ”。 如在winform下面,使用多線程時,控件的值讀取是可以的,但如果要更改,那么就必須進行一些特別的處理。WPF中也一樣。 首先,WPF中,當報上面那個錯誤時,代碼可以改成 ...
異常: 引發了異常: PresentationCore.dll 中的“System.InvalidOperationException”(“調用線程必須為 STA,因為許多 UI 組件都需要。”)。引發了異常: PresentationCore.dll 中 ...
UI 只能在主線程內更新,子線程需要更新UI組件時可以這樣: ...
今天在winform中設置了combox的模糊查詢功能的相關屬性之后, 在運行時,報了如下錯誤 通過尋找相關資料,了解到了STA單元模式和COM對象,總的來說:winform中,很多控件是COM對象,這樣的對象只能被sta模式中的線程所調用。 解決辦法有兩種: 第一種 ...
線程的時候一到復制的時候就報錯: “在可以調用 OLE 之前,必須將當前線程設置為單線程單元(STA ...
文章來源: http://blog.csdn.net/fragno/article/details/7982044 STA: Single-Thread Apartment, 中文叫單線程套間。就是在COM庫初始化的時候創建一個內存結構,然后讓它和調用CoInitialize ...