LẬP TRÌNH BẤT ĐỒNG BỘ SỬ DỤNG BACKGROUNDWORKER

11 367 0
LẬP TRÌNH BẤT ĐỒNG BỘ SỬ DỤNG BACKGROUNDWORKER

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

L o g o LẬP TRÌNH BẤT ĐỒNG BỘ SỬ DỤNG BACKGROUNDWORKER TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN L o g o TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN NỘI DUNG Khái niệm Lập trình bất đồng bộ 1 BackgroundWorker component 2 Thực thi tiến trình hậu cảnh 3 L o g o Khái niệm Lập trình bất đồng bộ  Sử dụng lập trình bất đồng bộ có thể thực thi các tác này một cách đồng bộ giúp cho giao diện vẫn đáp ứng người dùng trong khi thao tác vẫn thực thi  Điều gì sẽ xảy ra khi một ứng dụng thực thi các tác vụ tiêu tốn thời gian(ví dụ: download file, thực hiện các phép toán phức tạp,…). Nó có thể làm cho giao diện bị “ Not Responding “ TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN L o g o  BackgroundWorker component được thiết kế cho phép thực thi các tiến trình hậu cảnh riêng biệt, có các đặc điểm sau:  Cho phép thực thi tác vụ bất đồng bộ trong khi giao diện người dùng vẫn đáp ứng.  Xử lý sau khi tiến trình kết thúc thực hiện.  Cho phép ngưng việc thực hiện của tiến trình.  Biết được tiến độ của tiến trình.  Biết được trạng thái của tiến trình đang thực hiện. BackgroundWorker component TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN L o g o  Phương thức quan trọng nhất của BackgroundWorker component là phương thức RunWorkerAsync. Khi phương thức này được gọi, BackgroundWorker phát sinh sự kiện DoWork. BackgroundWorker component TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN L o g o  Từ Toolbox, kéo BackgroundWorker component thả lên form.  Trong thanh component tray, nhấp đôi vào BackgroundWorker component để tạo bộ xử lý sự kiện DoWork và cung cấp mã xử lý tiêu tốn thời gian.  Để khởi động thao tác tiêu tốn thời gian, gọi phương thức RunWorkerAsync().  Lập trình cho sự kiện DoWork: Private void backgroundworker1_DoWork() { //Các lệnh thực hiện } Thực thi tiến trình hậu cảnh TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN L o g o  Gọi thực hiện tiến trình: BackgroundWorker1.RunWorkerAsync();  Cung cấp thông tin cho tiến trình hậu cảnh:  Thêm tham số vào RunWorkerAsync()  Truy xuất tham số từ thuộc tính DoWorkEventArgs.Argument  Thông báo kết thúc tiến trình hậu cảnh: Khi tiến trình hậu cảnh kết thúc, để thông báo tiến trình kết thúc hay bị hủy, sự kiện RunWorkerCompleted được phát sinh. Thực thi tiến trình hậu cảnh TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN L o g o  Trả về kết quả từ tiến trình hậu cảnh: Lập trình viên có thể trả về các giá trị bằng cách thiết lập thuộc tính Result của DoWorkerEventArgs. Giá trị này sẽ được truy xuất trong thuộc tính Result của RunWorkerCompletedEventAgrs.  Hủy một tiến trình hậu cảnh:  Thiết lập thuộc tính WorkerSupportsCancellation thành True.  Tạo một phương thức sẽ được gọi để hủy các thao tác hậu cảnh. Gọi phương thức CancelAsync(). Thực thi tiến trình hậu cảnh TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN L o g o  Trong sự kiện DoWork, truy vấn thuộc tính CancellationPending và sử dụng hủy tiến trình nếu giá trị này là True. Chú ý cũng nên thiết lập DoWorkEventArgs.Cancel thành True.  Thông báo tiến độ của tiến trình hậu cảnh:  Thiết lập thuộc tính WorkerReportsProgress thành True.  Thông báo tiến độ của tiến trình hậu cảnh bằng cách gọi phương thức ReportProgress. Phương thức này phát sinh sự kiện ProgressChanged. Thực thi tiến trình hậu cảnh TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN L o g o  Truy xuất trạng thái tiến trình hậu cảnh:  Thuộc tính IsBusy trả về giá trị luận lý:  Nếu là True, thì BackgroundWorker component đang thực thi tiến trình hậu cảnh.  Nếu là False, thì BackgroundWorker component đang rảnh. Thực thi tiến trình hậu cảnh TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN . bộ 1 BackgroundWorker component 2 Thực thi tiến trình hậu cảnh 3 L o g o Khái niệm Lập trình bất đồng bộ  Sử dụng lập trình bất đồng bộ có thể thực thi các tác này một cách đồng bộ giúp cho giao diện vẫn đáp. L o g o LẬP TRÌNH BẤT ĐỒNG BỘ SỬ DỤNG BACKGROUNDWORKER TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN L o g o TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN NỘI DUNG Khái niệm Lập trình bất đồng bộ 1 BackgroundWorker. CancellationPending và sử dụng hủy tiến trình nếu giá trị này là True. Chú ý cũng nên thiết lập DoWorkEventArgs.Cancel thành True.  Thông báo tiến độ của tiến trình hậu cảnh:  Thiết lập thuộc tính

Ngày đăng: 05/04/2015, 23:37

Mục lục

  • Khái niệm Lập trình bất đồng bộ

  • Thực thi tiến trình hậu cảnh

  • Thực thi tiến trình hậu cảnh

  • Thực thi tiến trình hậu cảnh

  • Thực thi tiến trình hậu cảnh

  • Thực thi tiến trình hậu cảnh

Tài liệu cùng người dùng

Tài liệu liên quan