// para optimizar el codigo de Opciones
 public void ApoyoOpciones(Equipos x, int posicion, int caso)
 {
     if (caso == 2)
     {
         Metodos_Funciones.Remotos(x, 1);
     }
     if (caso == 4)
     {
         Metodos_Funciones.Remotos(x, 2);
     }
 }
        private void btEjecutar_Click(object sender, EventArgs e)
        {
            List <Equipos> eq = new List <Equipos>();

            eq = (from a in equipo where a.Check == true select a).ToList();
            //MessageBox.Show("Equipos: " + eq.Count() + "");
            int Opcion = Checker();

            switch (Opcion)
            {
            case 1:    //ADMINISTRADOR
                foreach (Equipos x in eq)
                {
                    Metodos_Funciones.RemoteAccessOptions(x, 1);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 2:    //APAGAR
                foreach (Equipos x in eq)
                {
                    Opciones(x, 2);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 3:    //ENCENDER
                foreach (Equipos x in eq)
                {
                    try
                    {
                        WakeOnLan.SendWOLPacket(x.Mac);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(string.Format("Error En: " + x.Nombre, ex.Message), "Error");
                    }    //Red.Encender(x);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                MessageBox.Show("Ordenes Enviadas: ");
                break;

            case 4:    //REINICIAR
                foreach (Equipos x in eq)
                {
                    Opciones(x, 4);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                MessageBox.Show("Ordenes Enviadas: ");
                break;

            case 5:    //VNCVisor
                foreach (Equipos x in eq)
                {
                    //MessageBox.Show(x.Nombre+" : "+x.Mac);
                    Metodos_Funciones.VNCOptions(x, 2);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 6:    //VNCControl
                foreach (Equipos x in eq)
                {
                    Metodos_Funciones.VNCOptions(x, 1);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 7:  //VERIFICAR ESTADO
                foreach (Equipos x in eq)
                {    //MessageBox.Show(x.Nombre);
                    //MessageBox.Show(x.Nombre + " : " + x.Mac);
                    Hilo_Encendido_Apagado objeto_hilo = new Hilo_Encendido_Apagado(x, x.Imagen);
                    Thread hilo = new Thread(new ThreadStart(objeto_hilo.Encendido_Apagado));
                    hilo.Start();
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 8:    //PRACTICANTE
                foreach (Equipos x in eq)
                {
                    Metodos_Funciones.RemoteAccessOptions(x, 2);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            case 9:    //VISITANTES
                foreach (Equipos x in eq)
                {
                    Metodos_Funciones.RemoteAccessOptions(x, 3);
                }
                RestablecerRadioButtons();
                EstadosCheck(false);
                break;

            default:
                MessageBox.Show("NO SELECCIONASTE NINGUNA OPCION");
                break;
            }
        }