C 對BackgroundWorker的簡單包裝

2021-08-07 09:53:47 字數 1616 閱讀 5187

backgroundworker用起來是蠻舒服的,但讓我這種懶癌晚期的老老實實去為了開乙個執行緒例項個物件再配置有點不現實,於是想寫個component來包裝一下。

ide是vs2012,目標是這樣,可以從工具箱拖放,可以用屬性檢視來配置

程式很簡單

namespace backgroundworkertools 

set }}

//忙標誌

[browsable(false)]

public

bool isbusy else }}

//事件

public

event eventhandler begin;

public

event doworkeventhandler dowork;

public

event runworkercompletedeventhandler completed;

public

event progresschangedeventhandler progresschanged;

private

void

backgoundworker_dowork(object sender, doworkeventargs e)

if (bw.cancellationpending == true)

}private

void

backgoundworker_completed(object sender, runworkercompletedeventargs e)

}private

void

backgoundworker_progresschanged(object sender, progresschangedeventargs e)

}//執行 argument-引數 restart-重啟標誌

public

void

runworker(object argument = null, bool restart = false) else

if (this.activeworker.isbusy == true)

//若activeworker忙 且 activeworker將取消或者重啟

if (this.activeworker.cancellationpending == true || restart == true)

}if (this.begin != null)

if (argument == null) else

}//取消

public

void

cancel()

}//報告進度

public

void

reportprogress(int percentprogress, object userstate = null) else } }

}

PDA開發系列 BackgroundWorker

摘要 在.net compact framework中,沒有backgroundworker,應該會讓我們這些用慣了backgroundworker的人感到非常的不便。backgroundworker可以非常方便解決執行緒和控制項之間的互操作問題,做出介面執行非常流暢的引用程式。該元件因wince的...

C 對C的擴充套件

1.c 會對函式返回值型別和引數個數進行檢測 c語言預設為返回值為int,引數個數不做檢查 2.c 在定義結構體變數時,關鍵字struct可以省略,結構體名不能省 3.在全域性中定義 int val g bss段 全是0 在全域性中 int val g 20 data c正確 2是賦值 c 錯誤 重...

C 對C的加強

c 是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的物件導向的程式設計。c 擅長物件導向程式設計的同時,還可以進行基於過程的程式設計,因而c 就適應的問題規模而論,大小由之。c 不僅擁有計算機高效執行的實用性特徵,...