BackgroundWorker крутится больше раз чем нужно - C#

  1. Добрый вечер. Есть такой код:


textual

Код к задаче: «BackgroundWorker крутится больше раз чем нужно - C#»

        public Form1()
        {
            InitializeComponent();
 
            backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
 
            backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
 
            backgroundWorker1.ProgressChanged += new ProgressChangedEventHandler(backgroundWorker1_ProgressChanged);
 
            backgroundWorker1.WorkerReportsProgress = true;
        }

СДЕЛАЙТЕ РЕПОСТ

15   голосов, оценка 3.867 из 5



Похожие ответы
  1. Добрый день! Работаю с компонентом BackgroundWorker. В обработчике DoWork вызываю метод, который может выбросить исключение. Как можно передать это исключение в основной поток? Сейчас делаю следующим образом:

  1. Здравствуйте!!!! Такой вопрос: Есть много разных методов, довольно длительных по времени выполнения, которые желательно запускать в фоновом режиме. Как можно в один BGW подавать разные методы? В backgroundworker_DoWork() { } передавать название метода, который нужно выполнять. Или если мой ход мыслей не правильный, то как можно такое реализовать? Спасибо!Добавлено через 3 часа 25 минут В дополнение к этому вопросу ещё один: Если есть коллекция List и с ней надо работать, анализировать и всякое другое. Можно ли эту одну коллекцию параллельно использовать в разных методах в один и тот же момент? И всё это запускать через BGW

  1. Добрый вечер. Кому не сложно скиньте пожалуйста простейший пример реализации 10 потоков на backgroundWorker, в интеренте куча примеров, но основаны на 1 потоке. Спасибо. p.s. просьба не постить линк на msdn, статью читал.

  1. Вечер добрый! Есть класс Func.cs, в нем метод Load. На форме, Load вызывается так:

  1. В общем, есть метод, который должен делать дела, ждать секунду и продолжать делать дела. В нем я вызываю BackgroundWorker, в котором жду секунду, ВРОДЕ КАК завершаю работу потока и выхожу дальше. Выбрал самый наибанальнейший вариант, потому что пробовал по-разному - не получалось. Код:

  1. Вот та код Вывести прогресс скопированных файлов

  1. Исходя из темы, размещенной по соседству, пришел к выводу что для нормальной работы многопоточности с WinForm нужно использовать BackgroundWorker. Но сразу же появляется аналогичная проблема. Как передать в ฺBackgroundWorker метод для исполнения? тучу примеров перерыл... метод, использующий BackgroundWorker в классе Worker.cs

  1. C++1 2 3 4 5 6 7 8 9  private void Form1_Shown(object sender, EventArgs e)         {                 backgroundWorker1.RunWorkerAsync();         }   private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)         {             ...         }backgroundWorker1.RunWorkerAsync() отказывается работать. Отладчик выдает такое A first chance exception of type 'System.InvalidOperationException' occurred in System.Windows.Forms.dll

  1. здравствуйте. Не пойму как можно остановить поток. Есть две кнопки старт и стоп.