在一個程序中,一些耗時的操作,在長時間運行時可能會導致用戶界面 (UI) 處於停止響應狀態,用戶在這操作期間無法進行其他的操作,為了不使UI層處於停止響應狀態,需要將這些耗時的操作,設置為后台線程,並且在UI層可以展示后台操作的進度,比較常用的方法有使用線程以及BackgroundWorker ...
這幾天做項目懶了就用backgroundworker這個控件,覺得它比多線程方便一些,然后這個線程里面在開線程,然后慘劇就發生了:當我打開一個主窗口后,在打開一個子窗口,子窗口里有個backgroundworker,然后我就啟動了這個dowork,然后就開始執行很耗時的操作,閑着無聊,我點了幾下鼠標,一不小心把子窗口給關了,靠,執行了一半的程序,重啟吧,可是還沒等我重新打開,奇跡出現了,程序執行完 ...
2013-07-06 00:17 15 3558 推薦指數:
在一個程序中,一些耗時的操作,在長時間運行時可能會導致用戶界面 (UI) 處於停止響應狀態,用戶在這操作期間無法進行其他的操作,為了不使UI層處於停止響應狀態,需要將這些耗時的操作,設置為后台線程,並且在UI層可以展示后台操作的進度,比較常用的方法有使用線程以及BackgroundWorker ...
BackgroundWorker 可以用於啟動后台線程。 主要的事件及參數: 1.DoWork——當執行BackgroundWorker.RunWorkerAsync方法時會觸發該事件,並且傳遞DoWorkEventArgs參數; 2.RunWorkerCompleted——異步操作完成 ...
BackgroundWorker控件簡介 使用BackgroundWorker控件可以在后台單獨的線程上執行操作,通常用於數據庫操作、文件下載等相對耗時一般要求后台處理的任務。使用起來比較簡單,如果需要后台處理的任務少的話,①在VS中可以直接從工具箱中拖一個BackgroundWorker ...
要求異步進行 1、設置 2說明: 開始函數: (1) backgroundWorker1.RunWorkerAsync(參數a),觸發DoWork事件,見參數a傳給事件的DoWorkEventArgs參數(用e.Argument接收參數)。 在dowork事件中進行函數體 ...
參考資料 微軟技術資源庫、百度百科 最近修改公司以前項目看到有BackgroundWorker的使用,發現很是方便。總結出來以供日后使用。 BackgroundWorker 類允許您在單獨的專用線程上運行操作。 耗時的操作(如下載和數據庫事務)在長時間運行時可能會導致 ...
下面是一個簡單的例子: ...
查詢了一下MSDN文檔,其中微軟就BackgroundWorker類的功能有這么一個描述(英文的,根據個人理解翻譯):BackgroundWorker類允許您在單獨的線程上執行某個可能導致用戶界面(UI)停止響應的耗時操作(比如文件下載數據庫事務等),並且想要一個響應式的UI來反應當前耗時操作 ...
BackgroundWorker是一個非常不錯的線程控件,能避免界面假死,讓線程操作你想要做的事,它學習起來很簡單,但是能實現很強大的功能。發布這篇文章的目的是將最近學習到的共享出來,大家交流一下,當然我也是菜鳥,在這里你將學習到BackgroundWorker簡單使用,停止,暫停,繼續等操作 ...