// İşçimiz bize çalışmasının bittiğini söyleyince... private void TicketResult(object sender, RunWorkerCompletedEventArgs e) { if (e.Error != null) { // Hata varsa, mesaj göster MessageBox.Show(e.Error.Message); } else if (e.Cancelled) { // Eğer kullanıcı tarafından iptal edildiyse... lblStatus.Text = "Inquiry, stopped by user!"; } else { // İşçimiz başarılı bir şekilde bitirdiyse; bool status = (bool)e.Result; if (status) { lblStatus.Text = "Sefer Bulunduu !! ^_^"; timerTrigger.Stop(); DialogResult dialogResult = MessageBox.Show("İşleme Burada Devam Etmek İster Misin? ? (Hayır, derseniz browser kapatılacaktır!)", "Sefer Bulunduu !! ^_^", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (dialogResult == DialogResult.No) { UnitTest1.DriverStop(); } } else { lblStatus.Text = "Üzgünüm!, Seyahat Bulunamadı :( (2 dk sonra tekrar kontrol edilecektir!)"; } } }
// Arkaplanda çalışacak fonksiyonumuz private void CheckTicket(object sender, DoWorkEventArgs e) { // İşçimizi alalım belki kullanırız BackgroundWorker worker = sender as BackgroundWorker; // Argümanları paketlemiştik, paketinden çıkartalım List <object> arguments = (List <object>)e.Argument; string from = (string)arguments[0]; string to = (string)arguments[1]; DateTime date = (DateTime)arguments[2]; // EasternExpress metodumuzdan dönen değeri, işçimizin "sonuç" olarak almasını sağladık. (e.Result) e.Result = UnitTest1.TestMethod1(from, to, date, worker); }