예제 #1
0
        private void btn_duo_Click(object sender, EventArgs e)
        {
            this.Hide();
            P_DUO_Main duoMain = new P_DUO_Main(objEntidad);

            duoMain.Show();
        }
        private void btn_Aceptar_Click(object sender, EventArgs e)
        {
            Change_Settings();
            // solo se guardaran los settings si es el admin
            if (E_Usuario.Rol == "Admin")
            {
                Save_SettingsInDatabase();
            }

            try
            {   // para saber si el formulario existe, o sea si está abierto o cerrado
                Form existe  = Application.OpenForms.OfType <Form>().Where(pre => pre.Name == "P_Debate_Main").SingleOrDefault <Form>();
                Form existe2 = Application.OpenForms.OfType <Form>().Where(pre => pre.Name == "P_Main").SingleOrDefault <Form>();

                if (existe != null) // si el formulario existe
                {
                    //para cerrarlo y liberar el espacio en memoria
                    existe.Close();
                    existe.Dispose();
                    GC.Collect();

                    PDebateMain = new P_DUO_Main(objEntidad);

                    PDebateMain.Show();
                    this.Hide();
                }
                else
                {
                    if (existe2 != null)            // para saber si el formulario principal existe
                    {
                        this.AddOwnedForm(existe2); //indica que este va a ser el papa del form P_Main
                        existe2.Close();            // cerrar ventana principal
                    }

                    P_Main PMain = new P_Main(objEntidad);
                    this.AddOwnedForm(PMain); //indica que este va a ser el papa del form P_Main

                    PMain.Show();
                    this.RemoveOwnedForm(PMain); //indica que este va a dejar de ser el papa del form P_Main
                    this.Hide();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Error inexperado!, favor volver a intentarlo.");
            }
        }