//########################################################################## //########################### EVENTOS ############################### //########################################################################## //evento de finalizar simulación al clickear el botón finalizar simulación private void btFinalizarSim_Click(object sender, EventArgs e) { BWprSimulacion.CancelAsync(); BWprJubilacion.CancelAsync(); BWprMensaje.CancelAsync(); BWescudo.CancelAsync(); BWeligeCasillas.CancelAsync(); finalizarSimulacion(); mItFinalizar.Enabled = false; }
//Acciones que realiza el programa al iniciar la interfaz gráfica private void PuenteDeMandoGUI_Load(object sender, EventArgs e) { //Se inicia el backgroundworker BWprSimulacion.RunWorkerAsync(); BWprJubilacion.RunWorkerAsync(); BWprMensaje.RunWorkerAsync(); BWescudo.RunWorkerAsync(); BWeligeCasillas.RunWorkerAsync(); playFondo.PlayLooping();// Vuelve a reproducir la cancion }
//BW que al finalizar la simulación activa la finalización del programa private void BWprSimulacion_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Cancelled == false) { BWprSimulacion.CancelAsync(); BWprJubilacion.CancelAsync(); BWprMensaje.CancelAsync(); BWescudo.CancelAsync(); BWeligeCasillas.CancelAsync(); finalizarSimulacion(); } }
//BW para el tiempo de simulación del puente de mando private void BWprSimulacion_DoWork(object sender, DoWorkEventArgs e) { BWprSimulacion.WorkerReportsProgress = true; BWprSimulacion.WorkerSupportsCancellation = true; for (int i = 0; i <= 600; i++) { if (BWprSimulacion.CancellationPending == true) { e.Cancel = true; break; } Thread.Sleep(1000); BWprSimulacion.ReportProgress(i); } }