Exemplo n.º 1
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (bckgWorker.IsBusy == false)
            {
                int from;
                if (!int.TryParse(textBox1.Text, out from))
                {
                    MessageBox.Show("Error first num is doesn't correct");
                    return;
                }
                int to;
                if (!int.TryParse(textBox2.Text, out to))
                {
                    MessageBox.Show("Error first num is doesn't correct");
                    return;
                }
                Examlple ex = new Examlple {
                    From = from, To = to
                };

                //bckgWorker.RunWorkerAsync();//запускает событие doWork
                bckgWorker.RunWorkerAsync(ex);//запускает событие doWork


                btnStart.Enabled = false;
            }
        }
Exemplo n.º 2
0
        private void bckgWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            Examlple examlple = e.Argument as Examlple;

            e.Result = this.Summ(examlple.From, examlple.To);

            for (int i = 1; i <= 100; i++)
            {
                if (bckgWorker.CancellationPending)
                {
                    e.Cancel = true;
                    break;
                }
                //if (i == 50)//принудительно остановили его на 50, и дальше на 100% не дойдет(((
                //{
                //    throw new Exception("Test!");
                //}
                Thread.Sleep(200);
                bckgWorker.ReportProgress(i);
            }
        }