private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { //quando ho finito il dowork btn_rivincita.Show(); var(non_soppresso, auto) = (ValueTuple <bool, Automobile>)e.Result; //se il processo non è stato cancellato if (non_soppresso) { //e se l'auto ha vinto if (auto.Vittoria) { //stampo che ha vinto MessageBox.Show(auto.Nome + " HA VINTO"); } btn_start.Hide(); btn_stop.Hide(); } else { //se è stato cancellato riporto le auto a 0 auto_rossa.Posizione = 0; auto_nera.Posizione = 0; auto_nera.Muovi(); auto_rossa.Muovi(); } }
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) { Automobile auto = (Automobile)e.UserState; //finché viene chiamato il progress changed (ovvero finché si è nel while) if (e.ProgressPercentage != -1) { //muovo l'auto auto.Muovi(); } }