Esempio n. 1
0
        private void uscGeneration_EachClicked(object sender, GenerationControl.EachClickedEventArgs e)
        {
            BackgroundWorker worker = new BackgroundWorker();

            worker.WorkerReportsProgress      = true;
            worker.WorkerSupportsCancellation = true;
            worker.DoWork             += bgwEach_DoWork;
            worker.ProgressChanged    += bgwEach_ProgressChanged;
            worker.RunWorkerCompleted += bgwEach_RunWorkerCompleted;

            _worker = worker;

            MakeUIEnable(false);

            worker.RunWorkerAsync(e);
        }
Esempio n. 2
0
        private void bgwEach_DoWork(object sender, DoWorkEventArgs e)
        {
            GenerationControl.EachClickedEventArgs args = (GenerationControl.EachClickedEventArgs)e.Argument;

            for (int i = 0; i < args.Count; i++)
            {
                if (((BackgroundWorker)sender).CancellationPending)
                {
                    e.Cancel = true;
                    break;
                }

                var results = AnalyzerHelper.Instance.Generate(uscCriteria.GetCriteria(), Settings.Default.MaxGenerationAttempt, 1, _latestResult.Numbers, uscCriteria.NumbersToInclude, uscCriteria.NumbersToExclude);

                int percent = (int)((i + 1) * 100m / args.Count);

                ((BackgroundWorker)sender).ReportProgress(percent, results);

                Thread.Sleep(args.MilliSecond);
            }
        }