//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////// PARTIE BACKGROUNDWORKER ////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// private void Btn_BackGroundWorker_Click(object sender, EventArgs e) { //Boutton qui lance le BackGroundWorker ou l'arrête si en cours de traitement if (!_etat)//lance { Rich_Tbx.Clear(); controllerBGW.RunBGW(); Btn_BackGroundWorker.Text = "Annuler BGW"; } else//arrête/annule { controllerBGW.CancelBGW(); Btn_BackGroundWorker.Text = "Démarrer BGW"; } _etat = !_etat; }
//méthode abonnée au BackGroundWorker du controleur (voir constructeur Form1) //Ce déclanche lorque BGW.ReportProgress est executé (dans BGW_DoWork du controleur) private void bwProgress_ProgressChanged(object sender, ProgressChangedEventArgs e) { Rich_Tbx.AppendText(e.UserState.ToString() + "\n"); Rich_Tbx.ScrollToCaret(); }
//Méthode abonné à l'évenement private void eventReceived(object sender, MyEventArgs e) { // Ici, on vient ajouter le message à la vue, mettre à jour le pourcentage, etc .... Rich_Tbx.AppendText(e.message + "\n"); }