private void BackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { FindPrimesInput input = (FindPrimesInput)e.Argument; int[] primes = Worker.FindPrimes(input.From, input.To); e.Result = primes; }
private void cmdFind_Click(object sender, RoutedEventArgs e) { cmdFind.IsEnabled = false; cmdCancel.IsEnabled = true; txtResult.Text = string.Empty; int from, to = 0; if (!Int32.TryParse(txtFrom.Text, out from)) { MessageBox.Show("Invalid From Value!"); return; } if (!Int32.TryParse(txtTo.Text, out to)) { MessageBox.Show("Invalid To Value!"); return; } FindPrimesInput input = new FindPrimesInput(from, to); _backgroundworker.RunWorkerAsync(input); }