C 學習筆記之BackGroundWorder

2021-07-12 05:04:02 字數 2008 閱讀 6830

namespace backgroundworder元件控制項

/// /// backgroundworker是.net裡用來執行多執行緒的控制項,它允許程式設計師在單獨的乙個執行緒裡

/// 始終處於「未響應」狀態。

///

/// 該控制項有三個事件:dowork、progresschanged、runworkercompleted。

/// 在程式中呼叫 runworkerasync() 方法則會啟動 dowork 事件;當在事件處理過程中,呼叫

/// reportprogress() 方法則會啟動 progresschanged 事件;而當 dowork 事件處理完成時

/// 則會觸發 runworkercompleted 事件。

///

/// 注意:如果在 dowork 事件中操作任何使用者介面物件,介面仍然會出現「未響應」;應該在事件

/// progresschanged 和 runworkercompleted 中和窗體進行通訊。

///

// 在程式中呼叫 runworkerasync() 將會觸發該事件:

private void backgroundworker1_dowork(object sender, doworkeventargs e)

// 2、argument:觸發 dowork 事件的方法 runworkerasync() 有兩種過載,一種無參,

// 另一種有乙個object型別的引數;當呼叫有參方法時,e 的 argument 屬性將會指向

// 這個引數。

string str = e.argument.tostring(); // 獲取 runworkerasync() 傳遞過來的值

for (int i = 1; i <= 100; i++)

}thread.sleep(200);

}// 3、result:此處將result設定成什麼,runworkercompleted 事件中的result就是什麼。

e.result = "完美結束!";

}// 在 dowork 事件中呼叫 reportprogress() 方法就會觸發該事件。

private void backgroundworker1_progresschanged(object sender, progresschangedeventargs e)

// 當 dowork 事件處理程式結束之後將會觸發此事件。

private void backgroundworker1_runworkercompleted(object sender, runworkercompletedeventargs e)

else if (e.cancelled)

else

}// 啟動後台程式

private void button1_click(object sender, eventargs e)

else

backgroundworker1.workerreportsprogress = true; // 設定支援報告進度更新

backgroundworker1.workersupportscancellation = true; // 設定支援取消後台操作 }}

}

C 學習筆記之容器

list 和 vector 2者都屬於容器,但list只有雙向迭代器,而vector卻有隨機訪問迭代器 迭代器的種類 前向迭代器 forward iterator 可對迭代器進行 操作雙向迭代器 bidirectional iterator 可對迭代器進行 和 操作隨機訪問迭代器 random ac...

C 學習筆記之異常

程式執行中需要處理異常 異常處理方法一 異常處理方法二 c 異常處理機制 異常處理基礎 例子1 除數為零的異常處理 ex17 1.cpp 除數為零的異常例子 include include using namespace std 定義異常類myexception class myexception ...

C 學習筆記之 引用

先宣告一下,這裡的內容大多是 c 程式設計思想 中的內容,我最近在學習c 覺得裡面的很多話不錯,另外例子也都自己實驗了一番,有些現象很有趣,希望與大家分享。引用 reference 就像能自動地被編譯器間接引用的常量型指標。常量型指標的含義就是常量修飾指標,即指的地方不變,但所指地方的內容可以改變。...