【实例简介】
【实例截图】
【核心代码】
BackgroundWorker worker = new BackgroundWorker();
public Form1()
{
InitializeComponent();
worker.WorkerSupportsCancellation = true;//是否支持异步取消
worker.WorkerReportsProgress = true;//能否报告进度更新
worker.DoWork = Worker_DoWork;
}
int value;
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
//saveFileDialog1.ShowDialog();
if (folderBrowser.ShowDialog() == DialogResult.OK)
{
listBox1.Items.Add(folderBrowser.SelectedPath);
}
}
private void button2_Click(object sender, EventArgs e)
{
SaveFileDialog saveFile = new SaveFileDialog();
saveFile.Filter = "zip files(*.zip)|*.zip";
if (saveFile.ShowDialog() == DialogResult.OK)
{
textBox1.Text = saveFile.FileName;
}
}
private void button5_Click(object sender, EventArgs e)
{
OpenFileDialog openFile = new OpenFileDialog();
if (openFile.ShowDialog() == DialogResult.OK)
{
listBox1.Items.Add(openFile.FileName);
}
}
private void compression_Click(object sender, EventArgs e)
{
value = 0;
worker.RunWorkerAsync("compression");//会触发worker的DoWork事件
ProgressFr