using System.ComponentModel; using System.Windows.Forms; namespace backgroundWorker_Kullanım { public partial class Form1 : Form { public Form1() { InitializeComponent(); Thread.RunWorkerAsync();//BackgroundWorker(Thread)'ı RunWorkerAsync() fonksiyonu ile başlatırız. } int toplam; private void Thread_DoWork(object sender, DoWorkEventArgs e) { //Arka Planda çalışacak kodlarımız. Dikkat: //Örneğin Veritabanından veri çekiyoruz //Çektiğimiz verileri burda Arayüz bulunan Componentlere(Listbox,Combobox,Datagridview vs) aktarmıyoruz //Çünkü o Componentlere mainThread' te eriştiği için Çapraz iş parçacığı hatası alırız //Bu yüzden verileri Array,DataTable,Hash dizilerine,değiskenlere vs atarız //Örnek: for (int i = 0; i < 10; i++) toplam +=i; } private void Thread_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { //Thread_DoWork fonksiyonu çalışıp bittiğinde ardından bu fonksiyon çalışır //Burda ise Arayüz Componentlerine veriyi aktardığımız fonksiyondur //Örnek label.Text = toplam + ""; } } }