public Principal(_sis_Usuario usuario, ManejadorDB manejador)
        {
            InitializeComponent();
            //referenciaWindow = this;
            contenedorVentanas.AsignarManejador(manejador);
            //AlmacenObjetos.seBorroAlmacen += AlmacenObjetos_seBorroAlmacen;
            HerramientasWindow.EstablecerPrincipal(this);
            Principal.usuario = usuario;

            Instancia = this;


            ObjetoBase.UsuarioLogueado = usuario.Cuenta;
            variablesDATA = new Variable("data.conf");
            variablesCONN = new Variable("conn.conf");
            this.Icon     = HerramientasWindow.BitmapAImageSource(new Bitmap(@"Imagenes\Iconos\Sistema\Sistema.png"));
            servidor      = HerramientasWindow.DesencriptarConMD5(variablesCONN.ObtenerValorVariable <String>("ServidorInstancia"));
            baseDatos     = HerramientasWindow.DesencriptarConMD5(variablesCONN.ObtenerValorVariable <String>("BaseDeDatos"));
            ipLocal       = HerramientasWindow.ObtenerIPLocal();
            //Log.UbicacionArchivo = "log.txt";
            versionActual = variablesDATA.ObtenerValorVariable <int>("version_actual");


            EstaEnModoPruebas = usuario.BRecibeVersionesPrueba;
            if (EstaEnModoPruebas)
            {
                variablesDATA.GuardarValorVariable("esta_en_modo_pruebas", "si");
            }
            else
            {
                variablesDATA.GuardarValorVariable("esta_en_modo_pruebas", "no");
            }
            //EstaEnModoPruebas = variablesDATA.ObtenerValorVariable<Boolean>("esta_en_modo_pruebas");
            variablesDATA.ActualizarArchivo();
            Thread obtenerIpInternet = new Thread(ObtenerIpInternet);

            obtenerIpInternet.Start();


            this.manejador = manejador; // = new ManejadorDB();

            IsVisibleChanged += Principal_IsVisibleChanged;
            IsVisibleChanged += HerramientasWindow.referenciaWindow_IsVisibleChanged;



            _sis_DatosSistema datosSistema = manejador.Cargar <_sis_DatosSistema>(_sis_DatosSistema.ConsultaTodos);

            if (datosSistema != null)
            {
                if (datosSistema.BImagenIcono != null)
                {
                    this.Icon = HerramientasWindow.BitmapAImageSource(datosSistema.BImagenIcono);
                }
                img_fondo.Source = HerramientasWindow.BitmapAImageSource(datosSistema.BImagenFondoPrincipal);
                nombreSistema    = datosSistema.STitulo;
                //if (datosSistema.ISegundosAutobloqueo != 0)
                segundosParaAutoBloqueo = datosSistema.ISegundosAutobloqueo;
            }


            menu.clickElementoMenuOpcion += menu_clickElementoMenuOpcion;
            menu.AltoElementoMenu         = 70;
            menu.AnchoElementoMenu        = 70;
            menu.SeparacionElementoMenu   = 1;

            PreviewMouseDown += Principal_PreviewMouseDown;
            MouseMove        += Principal_MouseMove;
            KeyDown          += Principal_KeyDown;

            contenedorToolbox_Sistema.MouseEnter += contenedorToolbox_Sistema_MouseEnter;
            contenedorToolbox_Sistema.MouseLeave += contenedorToolbox_Sistema_MouseLeave;

            contenedorToolbox.MouseEnter += contenedorToolbox_MouseEnter;
            contenedorToolbox.MouseLeave += contenedorToolbox_MouseLeave;

            contenedorToolbox_Sistema.clickOpcionSistema += contenedorToolbox_Sistema_clickOpcionSistema;
            contenedorToolbox.clickOpcionVentana         += contenedorToolbox_clickOpcionVentana;

            contenedorVentanas.clickVentana += contenedorVentanas_clickVentana;
            CargarModulos();
            CargarToolboxSistema();


            ReiniciarAutobloqueo();
            //IniciarWorkers();
            cargarMarcadores();
            //new DirectoryInfo((@"Imagenes\Iconos\Formularios")).GetFiles().Select(o => o.Name).ToArray();
            ImagenesToolBoxFormularios.AddRange(new DirectoryInfo((@"Imagenes\Iconos\Sistema")).GetFiles().Select(o => o.Name).ToArray());
            ImagenesToolBoxFormularios.AddRange(new DirectoryInfo((@"Imagenes\Iconos\Formularios")).GetFiles().Select(o => o.Name).ToArray());

            CentrarVentanaEnPantalla(this);
        }