91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C#中Progress組件的事件處理

c#
小樊
86
2024-09-02 13:11:44
欄目: 編程語言

在C#中,ProgressBar 組件用于顯示操作的進度

  1. 首先,在窗體上添加一個 ProgressBar 控件和一個 Button 控件。
  2. 為按鈕添加一個點擊事件處理程序,以便在單擊時開始執行長時間運行的任務。
  3. 在事件處理程序中,使用 BackgroundWorker 類來執行長時間運行的任務,并在任務進行過程中更新 ProgressBar

以下是一個簡單的示例:

using System;
using System.ComponentModel;
using System.Threading;
using System.Windows.Forms;

namespace ProgressBarExample
{
    public partial class Form1 : Form
    {
        private BackgroundWorker backgroundWorker;

        public Form1()
        {
            InitializeComponent();

            // 初始化 BackgroundWorker
            backgroundWorker = new BackgroundWorker();
            backgroundWorker.WorkerReportsProgress = true;
            backgroundWorker.DoWork += BackgroundWorker_DoWork;
            backgroundWorker.ProgressChanged += BackgroundWorker_ProgressChanged;
            backgroundWorker.RunWorkerCompleted += BackgroundWorker_RunWorkerCompleted;
        }

        private void buttonStart_Click(object sender, EventArgs e)
        {
            // 啟動后臺任務
            backgroundWorker.RunWorkerAsync();
        }

        private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            // 這里執行長時間運行的任務
            for (int i = 0; i <= 100; i++)
            {
                Thread.Sleep(50); // 模擬耗時操作
                backgroundWorker.ReportProgress(i); // 更新進度
            }
        }

        private void BackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            // 更新 ProgressBar 的值
            progressBar1.Value = e.ProgressPercentage;
        }

        private void BackgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            // 任務完成后的操作
            MessageBox.Show("任務已完成!");
        }
    }
}

在這個示例中,我們創建了一個 BackgroundWorker 對象,用于在后臺執行長時間運行的任務。當任務進行過程中,我們通過調用 ReportProgress 方法來更新進度。然后,在 ProgressChanged 事件處理程序中,我們將 ProgressBar 的值設置為當前進度。最后,在任務完成后,我們在 RunWorkerCompleted 事件處理程序中顯示一條消息。

0
安徽省| 东丰县| 米易县| 西峡县| 雷山县| 墨江| 武威市| 来安县| 电白县| 黄梅县| 来凤县| 根河市| 宽城| 龙里县| 中卫市| 平江县| 商都县| 安宁市| 石景山区| 民勤县| 南皮县| 吉首市| 澳门| 健康| 军事| 桐城市| 池州市| 渝北区| 临夏市| 崇文区| 额敏县| 乌恰县| 伊宁县| 麟游县| 永兴县| 钟山县| 卫辉市| 杨浦区| 延长县| 宜昌市| 五大连池市|