//##########################################################################
        //###########################     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);
     }
 }