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 除此外,還要增加乙個方法,用來控制進度條的增加...