BackgroundWorker

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace BackgroundWorker { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnStart_Click(object sender, EventArgs e) { progressBar1.Value = 1; progressBar1.Maximum = Int32.Parse(txtNumber.Text); txtStart.Text = DateTime.Now.ToLongTimeString(); backgroundWorker1.RunWorkerAsync(); } private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { for (int i = 1; i < Int32.Parse(txtNumber.Text); i++) { Thread.Sleep(1000); backgroundWorker1.ReportProgress(0); } } private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { if (progressBar1.Value != progressBar1.Maximum) { progressBar1.Value += 1; txtEnd.Text = DateTime.Now.ToLongTimeString(); } } private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { //MessageBox.Show("Done"); txtEnd.Text = DateTime.Now.ToLongTimeString(); } } }