private void ctlDiacono_CerrarSesion(object sender, EventArgs e)
 {
     ctlDiacono.Dispose();
     ctlDiacono = null;
     Construir_Acceso();
 }
        private void RedireccionSegunNivelAcceso(Usuario pUsuario)
        {
            if (frm_Login != null)
            {
                frm_Login.Dispose();
                frm_Login = null;
            }

            try
            {
                switch ((ROLES_USUARIO)pUsuario.Pro_ID_RolUsuario)
                {
                case ROLES_USUARIO.ANCIANO:
                    ctlAnciano        = new ctlContenedorPrincipalAnciano();
                    ctlAnciano.Parent = this;
                    ctlAnciano.ConstruirControl(Pro_Conexion, pUsuario);
                    if (!ctlAnciano.ctlBusquedaFichasIngreso1.ctlVistaFichaIngreso1.bgCargarDatosConfigurcion.IsBusy)
                    {
                        ctlAnciano.ctlBusquedaFichasIngreso1.ctlVistaFichaIngreso1.Pro_Conexion = Pro_Conexion;
                        ctlAnciano.ctlBusquedaFichasIngreso1.ctlVistaFichaIngreso1.bgCargarDatosConfigurcion.RunWorkerAsync();
                    }
                    ctlAnciano.OnPresionaCerrarSesion += ctlAnciano_CerrarSesion;
                    ctlAnciano.Dock = DockStyle.Fill;
                    ctlAnciano.BringToFront();
                    this.MinimumSize = new Size(986, 795);
                    Pro_Modulo       = MODULOS.MODULO_ANCIANO;


                    break;

                case ROLES_USUARIO.DIACONO:
                    ctlDiacono        = new ctlContenedorPrincipalDiacono();
                    ctlDiacono.Parent = this;
                    ctlDiacono.ConstruirControl(Pro_Conexion, pUsuario);
                    if (!ctlDiacono.ctlBusquedaFichasIngreso1.ctlVistaFichaIngreso1.bgCargarDatosConfigurcion.IsBusy)
                    {
                        ctlDiacono.ctlBusquedaFichasIngreso1.ctlVistaFichaIngreso1.Pro_Conexion = Pro_Conexion;
                        ctlDiacono.ctlBusquedaFichasIngreso1.ctlVistaFichaIngreso1.bgCargarDatosConfigurcion.RunWorkerAsync();
                    }
                    ctlDiacono.OnPresionaCerrarSesion += ctlDiacono_CerrarSesion;
                    ctlDiacono.Dock = DockStyle.Fill;
                    ctlDiacono.BringToFront();
                    this.MinimumSize = new Size(986, 795);
                    Pro_Modulo       = MODULOS.MODULO_DIACONO;

                    break;

                case ROLES_USUARIO.COORDINADOR_DIA:

                    ctlCoordinadorDia        = new ctlContenedorPrincipalCoordinadorDia();
                    ctlCoordinadorDia.Parent = this;
                    ctlCoordinadorDia.ConstruirControl(Pro_Conexion, pUsuario);
                    if (!ctlCoordinadorDia.ctlBusquedaFichasIngreso1.ctlVistaFichaIngreso1.bgCargarDatosConfigurcion.IsBusy)
                    {
                        ctlCoordinadorDia.ctlBusquedaFichasIngreso1.ctlVistaFichaIngreso1.Pro_Conexion = Pro_Conexion;
                        ctlCoordinadorDia.ctlBusquedaFichasIngreso1.ctlVistaFichaIngreso1.bgCargarDatosConfigurcion.RunWorkerAsync();
                    }
                    ctlCoordinadorDia.OnPresionaCerrarSesion += ctlCoordinadorDia_CerrarSesion;
                    ctlCoordinadorDia.Dock = DockStyle.Fill;
                    ctlCoordinadorDia.BringToFront();
                    this.MinimumSize = new Size(986, 795);
                    Pro_Modulo       = MODULOS.MODULO_COORDINADOR_DIA;

                    break;

                case ROLES_USUARIO.COORDINADOR_EDAD:

                    ctlCoordinadorEdad        = new ctlContenedorPrincipalCoordinadorEdad();
                    ctlCoordinadorEdad.Parent = this;
                    ctlCoordinadorEdad.ConstruirControl(Pro_Conexion, pUsuario);
                    ctlCoordinadorEdad.OnCerrarSesion += ctlCoordinadorEdad_OnCerrarSesion;
                    ctlCoordinadorEdad.Dock            = DockStyle.Fill;
                    ctlCoordinadorEdad.BringToFront();
                    this.MinimumSize = new Size(986, 795);
                    Pro_Modulo       = MODULOS.MODULO_COORDINADOR_EDAD;

                    break;
                }
            }

            catch (Exception Exc)
            {
                Log_Excepciones.CapturadorExcepciones(Exc,
                                                      this.Name,
                                                      "RedireccionSegunNivelAcceso(Usuario pUsuario)");

                MessageBox.Show("Algo salió mal mientras se cargaban los niveles de acceso. ", "Arca de los Tesoros");
                Construir_Acceso();
            }
        }