using System;
using ;
using ;
using ;
using ;
using ;
using ;
using ;
using ;
namespace TestBackgroundWork
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
InitializeBackgoundWorker();
}
private BackgroundWorker backgroundWorker1;
private void InitializeBackgoundWorker()
{
this.backgroundWorker1 = new ();
this. = true;
this. = true;
this. += new DoWorkEventHandler(backgroundWorker1_DoWork);
this. += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
this. += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
}
//***************The callback function of backgroundWorker1**********
void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
BackgroundWorker worker = sender as BackgroundWorker;
for (int i = 1; i <= 10; i++)
{
if ()
{
= true;
}
else
{
(500);
int percentComplete = (int)((float)i / (float)10 * 100);
(percentComplete);
}
}
}
void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
this. = ;
}
void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if ( != null)
{
();
}
else if ()
{
= "Canceled";
}
else
{
= "Completed";
}
= true;
= false;
}
//***************The callback function of backgroundWorker1**********
private void startBtn_Click(object sender, EventArgs e)
{
= ;
= false;
= true;
//Start asynchronous operation.
();
}
private void stopBtn_Click(object sender, EventArgs e)
{
();
}
}
}