C 程式設計 多執行緒與UI操作

2021-06-26 10:02:57 字數 1872 閱讀 4208

為了讓程式盡快響應使用者操作,在開發windows應用程式時經常會使用到執行緒。對於耗時的操作如果不使用執行緒將會是ui介面長時間處於停滯狀態,這種情況是使用者非常不願意看到的,在這種情況下我們希望使用執行緒來解決這個問題。

簡單貼出幾種處理情況的**,慢慢琢磨吧!

[csharp]view plain

copy

using

system;   

using

system.collections.generic;   

using

system.componentmodel;   

using

system.data;   

using

system.drawing;   

using

system.linq;   

using

system.text;   

using

system.windows.forms;   

using

system.threading;   

namespace

threadpooldemo   

private

void

btnthread_click(

object

sender, eventargs e)   

//使用執行緒來直接設定進度條 

private

void

run()   

}   

private

void

btninvoke_click(

object

sender, eventargs e)   

//使用invoke方法來設定進度條 

private

void

runwithinvoke()   

else

}   

}   

//跟setprogressbarvalue委託相匹配的方法 

private

void

setprogressvalue(

intvalue)   

private

void

btnbackgroundworker_click(

object

sender, eventargs e)   

//當事件處理完畢後執行的方法 

void

worker_runworkercompleted(

object

sender, runworkercompletedeventargs e)   

//當工作進度發生變化時執行的事件處理方法 

void

worker_progresschanged(

object

sender, progresschangedeventargs e)   

//開始啟動工作時執行的事件處理方法 

void

worker_dowork(

object

sender, doworkeventargs e)   

}   

//使用system.windows.forms.timer來操作介面能 

private

void

btntimer_click(

object

sender, eventargs e)   

//timer中要定期執行的方法 

void

timer_tick(

object

sender, eventargs e)   

}   

}   

}   

多執行緒與UI操作

什麼是ui執行緒?所有的 net framework 應用程式都是使用單執行緒建立的,單執行緒用於執行該應用程式,在.net winform開發中,這樣的執行緒建立並管理使用者介面 ui 因而稱為 ui 執行緒。什麼是ui假死?當winfrom程式在執行乙個長時間耗時的任務時,應用程式出現不能點選 ...

C 多執行緒間操作UI

通過設定ui控制項的invoke和begininvoke方法實現更新,如下 1 public partial class fifth form28 private void settext string text 912 13private void fifth load object sender...

C 多執行緒與UI響應

一 概述 在使用c 進行應用程式設計時,經常會採用多執行緒的方式進行一些後台任務的工作。對於不同的應用場景,使用的策略也不盡相同。1.後台迴圈任務,少量ui更新 例如批量上傳檔案,並提供進度。這種情況使用backgroundworker元件是非常好的選擇。2.耗時的後台任務 這裡的耗時任務是指乙個時...