BackgroundWorker, где ошибка? - C#
Формулировка задачи:
Где ошибка
Пишет не этот компанент занят backgroundWorker1 и не может еще делать какие действия
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- //using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Threading;
- namespace WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- button1.Click += button1_Click;
- button2.Click += button2_Click;
- backgroundWorker1.DoWork += backgroundWorker1_DoWork;
- backgroundWorker1.ProgressChanged += backgroundWorker1_ProgressChanged;
- backgroundWorker1.RunWorkerCompleted += backgroundWorker1_RunWorkerCompleted;
- }
- private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
- {
- for (int i = 0; i <= 99;i++ )
- {
- if(backgroundWorker1.CancellationPending)
- {
- e.Cancel = true;
- break;
- }
- backgroundWorker1.ReportProgress(i);
- Thread.Sleep(50);
- }
- }
- private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
- {
- progressBar1.Value = e.ProgressPercentage + 1;
- progressBar1.Value = e.ProgressPercentage;
- }
- private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
- {
- string message = e.Cancelled ? "Процесс отмкнен" : "Процесс завершон!";
- MessageBox.Show(message);
- button1.Enabled = true;
- }
- private void button1_Click(object sender, EventArgs e)
- {
- button1.Enabled = false;
- backgroundWorker1.RunWorkerAsync();
- }
- private void button2_Click(object sender, EventArgs e)
- {
- backgroundWorker1.CancelAsync();
- }
- }
- }
Решение задачи: «BackgroundWorker, где ошибка?»
textual
Листинг программы
- //button1.Click += button1_Click;
- //button2.Click += button2_Click;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д