Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

gadNY

Fechar Forms c#

Mensagens Recomendadas

gadNY    0
gadNY

Boas,  tenho um programa que tem um formprincipal que da acesso aos outros, mas nunca  e fechado, ou seja o utilizador tem sempre acesso a ele, mas como la tenho uma area de login o utilizador pode fazer logout, o problema e que ao fazer logout nao fecha os forms que estao abertos e pode continuar a usar o programa :x

eu queria que ao fazer logout no formprincipal ele fecha-se todos os outros .

alguma sugestao ?  :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
gadNY    0
gadNY

Se terminares o processo, fecha tudo.

Application.Exit acho eu.

ao fazer isso ele vai fechar toda a aplicacao, e eu queria apenas deichar o formprincipal aberto para poder fazer login outra vez .

:/

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

Não tinha percebido.

Nesse caso tens q guardar registo dos forms q tens abertos.

Quando fazes logout percorres esses registos e fechas um a um, com o close ou dipose.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
gadNY    0
gadNY

pois, e isso que eu quero fazer, o problema e que nao faco a minima ideia de como fazer :x

o meu problema esta em guardar os forms que estao abertos :x

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Mr.kraft    0
Mr.kraft

Boas.

Repara que cada form é uma classe. Cada classe tem métodos e um dos métodos desta classe chama-se hide();

Quando abres uma form tens de criar uma variável com essa classe, por exemplo, tens uma form chamada 'formulario'.

Se a memória não me falha fazes, Form variavel = new formulario();

De seguida abres esse formulario: variavel.show().

Para que o teu programa não termine, não podes fechar o formulário com que o inicias, e para que tal não aconteça terás que por this.hide();

O teu formulário principal será apenas escondido e o outro será aberto. Para o fechares tens duas opções: ou escondes e fazes variavel.hide(); ou então fechas e fazes variavel.dispose();

Espero não te ter confundido  :P

Cump's!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
andreb    0
andreb

Se todos os outros forms forem abertos apartir do principal podes faxer(ou algo do genero, desculpa mas n exprimentei tenho de baxar):

            foreach (Form child in this.MdiChildren)
            {
                child.Close();
            }

Cumps

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
gadNY    0
gadNY

Se todos os outros forms forem abertos apartir do principal podes faxer(ou algo do genero, desculpa mas n exprimentei tenho de baxar):

            foreach (Form child in this.MdiChildren)
            {
                child.Close();
            }

Cumps

nao percebi mesmo o que esse codigo faz :x

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Mr.kraft    0
Mr.kraft

Aquele código, se não estou em erro, fecha todas as classes derivadas (classes filhas) da classe principal que é a tua form principal. (classe mãe).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
andreb    0
andreb

Sim penso que seria isso mas não funciona pelo que tive a testar.. podes sempre fazer assim.. sempre que declarares um form para depois mostrar fazes:

            form2.Owner = this;

por exemplo.. e depois quando tiveres a fazer logout fazes:

            foreach (Form child in this.OwnedForms)
            {
                child.Close();
            }

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
joel22rm    0
joel22rm

ve isto..

dialogResult result = MessageBox.Show("Deseja mesmo Sair?", " (texto)", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (result == dialogResult.yes)

this.close();

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade