Fechar e abrir um form com o mesmo botão
07/02/2017
0
Boa noite!
A duvida é a seguinte: estou no Form1 e clico no botão ai abre o Form2, se eu clicar no botão do Form1 de novo eu quero que o Form2 seja fechado.
Tentei com variaveis booleanas, mas sempre acaba em um loop infinito, o form sempre ficava aberto(pelo fato de ser o mesmo botão que fecha e abre, então sempre deixava a variavel true).
Código para exemplo
Form2 form2 = new Form2();
bool i = true;
if(i == true)
{
form2.Show();
i = false;
}
else
{
form2.Close();
i = true;
}
Alguem poderia me ajudar? agradeço desde já :)
A duvida é a seguinte: estou no Form1 e clico no botão ai abre o Form2, se eu clicar no botão do Form1 de novo eu quero que o Form2 seja fechado.
Tentei com variaveis booleanas, mas sempre acaba em um loop infinito, o form sempre ficava aberto(pelo fato de ser o mesmo botão que fecha e abre, então sempre deixava a variavel true).
Código para exemplo
Form2 form2 = new Form2();
bool i = true;
if(i == true)
{
form2.Show();
i = false;
}
else
{
form2.Close();
i = true;
}
Alguem poderia me ajudar? agradeço desde já :)
Guilherme
Curtir tópico
+ 0
Responder
Post mais votado
09/02/2017
Faça assim:
procedure TForm1.Button1Click(Sender: TObject); begin // se o form não estiver criado entao cria if NOT Assigned(Form2) then Form2 := TForm2.Create(Application); // Se estiver visivel fecha, senao mostra if Form2.Visible then Form2.Close Else Form2.Show; end;
Alberto
Responder
Mais Posts
08/02/2017
Estevão Dias
Olá Guilherme, tudo bem?
Apesar do seu código omitir esse detalhe, esse código está inserido no evento de clique do botão, certo?
Apesar do seu código omitir esse detalhe, esse código está inserido no evento de clique do botão, certo?
Responder
08/02/2017
Guilherme
Claro.. eu coloquei a variavel bool fora do botão para não ficar resetando, mas agora nao fechar o form.
Exemplo:
1º click abre o form
2º click não faz nada (era pra fechar)
3º click abre outro form
fica assim, abrindo forms e mais forms, mas não fecha nenhum
Exemplo:
1º click abre o form
2º click não faz nada (era pra fechar)
3º click abre outro form
fica assim, abrindo forms e mais forms, mas não fecha nenhum
Responder
Clique aqui para fazer login e interagir na Comunidade :)