Desenvolvimento - C#

Sair da tela clicando ESC no Windows Forms

Caro(a) Leitor, gostaria de falar e mostrar como programar a tecla ESC referente ao Windows Forms.

por Mauricio Junior



Em outro artigo falei sobre a tecla ESC no website, é bem diferente do Windows Forms. Sabe quando alguém aperta a tela ESC e a tela que está aparecendo se fecha? Pois é, é isso que vou mostrar a você passo a passo.

É bem simples e fácil muitos desenvolvedores não sabem como criar isso, acabam copiando de algum site ou da internet outras formas.

Note que a figura 1 é simples, com alguns campos e botões. No todo da tela só existe um botão x para fechar. A tecla ESC fecha a tela aberta, além disso, você pode chamar algum método antes de fechar a tela (se necessário).

Windows Form

Figura 1: Tela do ESC.

Na tela aberta com os dados, quando o usuário quiser sair basta clicar no botão SAIR ou clicar ESC. Para que o ESC funcione perfeitamente programaticamente, vou abrir as propriedades do formulário e atribuir alguns dados. (Figura 2)

Windows Form

Figura 2: Mudando a propriedade do formulário.

Na tela de propriedades, chamada KeyPreview foi atribuída para TRUE. Note que a propriedade chamada StartPosition foi coloca como CenterScreen, ou seja, a tela vai aparecer no centro da tela, mesmo que a tela seja de pequena resolução ou grande. Ela vem com o valor padrão FALSE. O próximo passo foi clicar em EVENTS, veja na Figura 3.

Windows Form

Figura 3: Criando o evento KeyDown

Para criar o evento KeyDown, basta clicar duas vezes em cima da palavra mostrada na figura 3, automaticamente a ferramenta Visual Studio cria um método de acordo com a sua classe. Dentro do método, verifiquei se a tecla clicada é a ESC. Se for, eu fecho a tela com o Close(). Listagem 1.

Listagem 1: Método KeyDown.

private void ManterCliente_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyValue.Equals(27)) //ESC
    {
       this.Close();
    }
}

É muito simples e fácil, basta prestar atenção nas partes anteriores. Tente seguir todas informações faladas anteriormente. O código KeyValue = 27 é o número da tecla ESC quando acionada.

Depois de acionar verificar se é a tecla 27, basta chamar o método Close(). Antes de chamar o método Close, pode ser chamado outro método que executa algum código ou consulta algum valor.

Dependendo do resultado, você informa que a tela não pode ser fechada. Isso funciona muito bem. Eu fico por aqui e espero ter ajudado.

Mauricio Junior

Mauricio Junior - Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; . Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna e sou editor do Linha de Código.
Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A.
Blog:
blog.mauriciojunior.org
Site pessoal: www.mauriciojunior.org