WPF多執行緒訪問主線程中的ui控制項

2021-06-05 11:55:33 字數 559 閱讀 9038

wpf中的ui控制項只能由建立該ui的執行緒進行操作,但是經常有些複雜操作需要另起乙個執行緒來完成,而新的次執行緒計算的後又需要操作主線程的ui, 可通過以下方法實現

第一步,定義委託 :

public delegate void delegate_child();//定義操作次執行緒的委託

public delegate void delegate_ui();//定義操作主線程ui的委託

第二步,寫操作方法,即委託指向的方法:

private

void fun_child()

private

void  fun_ui()

第三步,主線程呼叫次執行緒:

delegate_child delegate_child=new delegate_child(fun_child);

delegate_child.begininvoke(new asynccallback(childcomplete),null);

第四步,次執行緒呼叫主線程ui的方法:

void childcomplete(iasyncresult itfar)

WPF 多執行緒 子執行緒操作介面主線程的元素

1 在 中開啟乙個子執行緒 thread cabservice new thread new threadstart datareceiver cabservice.start 每隔2s 產生乙個資料 public void datareceiver thread.sleep 2000 2 定義 和...

WPF多執行緒訪問控制項

大家知道wpf中多執行緒訪問ui控制項時會提示ui執行緒的資料不能直接被其他執行緒訪問或者修改,該怎樣來做呢?分下面兩種情況 1.winform程式 1 第一種方法,使用委託 private delegate void settextcallback string text private void...

子執行緒控制主線程中UI顯示

最近看了好多人問這方面的問題,以前我也寫過一篇 blog 裡面說了如何在子執行緒中控制進度條。但目前大多數環境,需要彈出模式視窗,來顯示進度條,那麼只需要在原先的基礎上稍作修改即可。首先是進度條窗體,需要在上面新增進度條,然後去掉 controlbox 除此外,還要增加乙個方法,用來控制進度條的增加...