C#進度條實現(xiàn)實例
作者:kisstome88
c#進度條實現(xiàn)實例是如何是實現(xiàn)的呢?c#進度條實現(xiàn)實例具體的實現(xiàn)步驟如何在代碼中體現(xiàn)的呢?c#進度條實現(xiàn)實例就向你介紹詳細的內(nèi)容。
C#進度條實現(xiàn)實例是如何操作的呢?讓我們看看下面的代碼:
- using System;
- using System.Collections.Generic;
- //C#進度條實現(xiàn)實例
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- namespace 進度條2
- //C#進度條實現(xiàn)實例
- {
- public partial class Form1 : Form
- {
- private BackgroundWorker worker =
- new BackgroundWorker();
- int N = 0;
- public Form1()
- {
- InitializeComponent();
- worker.WorkerReportsProgress = true;
- worker.WorkerSupportsCancellation = true;
- worker.DoWork += new DoWorkEventHandler(DoWork);
- worker.ProgressChanged +=
- new ProgressChangedEventHandler(ProgessChanged);
- worker.RunWorkerCompleted +=
- new RunWorkerCompletedEventHandler(CompleteWork);
- }
- public void DoWork(
- object sender, DoWorkEventArgs e)
- {
- e.Result = ComputeFibonacci(worker, e);
- }
- public void ProgessChanged(
- object sender, ProgressChangedEventArgs e)
- {
- progressBarX1.Value = e.ProgressPercentage;
- int V =(int)( e.ProgressPercentage / N);
- progressBarX1.Text = Convert.ToString(V) + "%";
- }
- //C#進度條實現(xiàn)實例
- public void CompleteWork(
- object sender, RunWorkerCompletedEventArgs e)
- {
- progressBarX1.Text = "處理完畢!";
- }
- private int ComputeFibonacci(
- object sender, DoWorkEventArgs e)
- {
- for (int i = 0; i <= 92800; i++)
- {
- if (worker.CancellationPending)
- {
- e.Cancel = true;
- return -1;
- }
- else
- { //C#進度條實現(xiàn)實例
- worker.ReportProgress(i);
- //引發(fā)ProgessChanged事件
- }
- }
- return -1;
- }
- private void btnStart_Click(
- object sender, EventArgs e)
- {
- N = 92800 / 100;
- progressBarX1.Maximum = 92800;
- worker.RunWorkerAsync();
- //開始執(zhí)行后臺操作
- }
- private void btnPause_Click(
- object sender, EventArgs e)
- {
- worker.CancelAsync();
- //請求暫停后臺操作
- }
- } //C#進度條實現(xiàn)實例
- }
C#進度條實現(xiàn)實例的相關內(nèi)容就向你介紹到這里,希望對你了解和學習C#進度條實現(xiàn)有所幫助。
【編輯推薦】
責任編輯:仲衡
來源:
博客園