Fórum Fechar e abrir um form com o mesmo botão #574700
07/02/2017
0
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
+ 0Post mais votado
09/02/2017
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
Gostei + 1
Mais Posts
08/02/2017
Estevão Dias
Apesar do seu código omitir esse detalhe, esse código está inserido no evento de clique do botão, certo?
Gostei + 0
08/02/2017
Guilherme
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)