Precisando de freelancer em C, C++, Java, Delphi, PHP, JavaScript, C#, VB.NET, JSP, Servlets, JSF, etc? Fale comigo: osmar@arquivodecodigos.net
Você está aqui: Inicio -> Dicas e Truques -> C# (CSharp) -> Usando a propriedade DialogResult para obter o resultado do fechamento de uma janela de diálogo
Usando a propriedade DialogResult para obter o resultado do fechamento de uma janela de diálogo
Esta dica foi visualizada 10859 vezes

Categoria: Windows Forms
Sub-Categoria: Formulários e Janelas [Veja dicas relacionadas]

Meu site é muito confuso mesmo. Se até agora não encontrou o que procura, experimente minha pesquisa interna abaixo. É provável que a resposta para a sua pergunta esteja em uma das mais de 5.000 páginas do site.
Pesquisa:




Compartilhe esta página com seus amigos no Facebook

Usando a propriedade DialogResult para obter o resultado do fechamento de uma janela de diálogo

Caixas de diálogos são, em geral, formulários normais que sofrem algumas modificações de forma a alterar seu comportamento e a forma com a qual o usuário lidará com os mesmos. Imaginemos, inicialmente, um formulário para a digitação de um nome de usuário e senha. Aqui o comportamento padrão da aplicação é parar quaisquer outros procedimentos e concentrar apenas no resultado do formulário de usuário e senha. Se o usuário informar os dados corretamente e pressionar o botão OK, o processamento do formulário principal continua. Do contrário qualquer outra ação pode ser iniciada.

Assim, caixas de diálogos são formulários ou janelas secundários que exibimos com o propósito de obter alguma informação necessária para continuar uma determinada tarefa. Por serem exibidas de forma modal, a execução do código da janela principal é interrompida até que a caixa de diálogo seja fechada.

É comum, na programação Windows, o formulário principal querer saber o resultado do fechamento da janela de diálogo, ou seja, o usuário pressionou o botão OK? Ou foi o botão Cancelar? Para isso podemos usar a propriedade DialogResult.

a) Comece criando uma janela secundária para a aplicação. Vá em Project -> Add Windows Form. Marque Windows Form e dê um nome a ele, por exemplo, "Dialogo.cs". Clique o botão Add;

b) Já temos o novo formulário. Agora vamos transformá-lo em uma caixa de diálogo modal. Altere as propriedades abaixo para seus novos valores:

FormBorderStyle = FixedDialog
MaximizeBox = False
MinimizeBox = False
ShowInTaskBar = False
StartPosition = CenterParent

c) Coloque dois botões no formulário secundário. Dê o nome btnOK para o primeiro botão. Altere sua propriedade Text para "OK" e defina o valor "OK" para sua propriedade DialogResult. Dê o nome btnCancelar para o segundo botão. Altere sua propriedade Text para "Cancelar" e defina o valor "Cancel" para sua propriedade DialogResult.

d) Agora vamos abrir a janela secundária a partir da primeira janela. Coloque o código abaixo no evento Click de um botão:

private void button1_Click(object sender, EventArgs e){
  // vamos criar a caixa de diálogo e exibí-la
  Dialogo dialogo = new Dialogo();
  // vamos exibir de forma modal
  dialogo.ShowDialog();

  // o código abaixo é executado depois que a janela de diálogo
  // é fechada
  if(dialogo.DialogResult == DialogResult.OK){
    MessageBox.Show("O botão OK foi pressionado");
  }
  else if(dialogo.DialogResult == DialogResult.Cancel){
    MessageBox.Show("O botão Cancelar foi pressionado");
  }
  else{
    MessageBox.Show("A janela foi fechada de outra forma");
  }
}

Execute a aplicação e clique no botão. A janela de diálogo será exibida. Clique no botão OK ou Cancelar e veja o resultado. Note que a janela é fechada imediatamente e o resultado do fechamento é fornecido à janela pai. Há muita coisa acontecendo aqui, mas o mais importante é perceber que quando atribuímos valores para a propriedade DialogResult dos botões de uma janela de diálogo, não há a necessidade de chamar o método Close() da janela quando os botões forem pressionados. Além disso, fechar a janela clicando no X do canto superior direito causa o mesmo efeito de DialogResult.Cancel.

Os valores disponíveis na enumeração DialogResult são:

Abort - O valor de retorno da caixa de diálogo é Abort (geralmente enviado a partir de um botão com o texto "Abortar";
Cancel - O valor de retorno da caixa de diálogo é Cancel (geralmente enviado a partir de um botão com o texto "Cancelar";
Ignore - O valor de retorno da caixa de diálogo é Ignore (geralmente enviado a partir de um botão com o texto "Ignorar";
No - O valor de retorno da caixa de diálogo é No (geralmente enviado a partir de um botão com o texto "Não";
None - Não há retorno da caixa de diálogo, o que significa que a janela modal continua executando;
OK - O valor de retorno da caixa de diálogo é OK (geralmente enviado a partir de um botão com o texto "OK";
Retry - O valor de retorno da caixa de diálogo é Retry (geralmente enviado a partir de um botão com o texto "Repetir";
Yes - O valor de retorno da caixa de diálogo é Yes (geralmente enviado a partir de um botão com o texto "Sim".
Sobre o autor:
Osmar J. SilvaOsmar J. Silva (dono deste site e de 99,99% de seu conteúdo)

Olá, muito obrigado por estar visualizando esta página do meu site. Sou programador freelancer nas linguagens e frameworks Java, C/C++, Delphi, C#, VB.NET, PHP, Python, Ruby, JSP, Servlets, JSF, JPA, Hibernate, e muitas outras. Entre em contato comigo caso esteja precisando de algum trecho de código não encontrado no site. Meu Skype é: osmar@recomende.com. Meus telefones são (62) 3261-7018 / 8185-0734 e meu e-mail é osmar@arquivodecodigos.net.
 
Digitando 2011 - O programa de digitação mais usado em todo o Brasil
Patrocinador oficial: O Digitando 2011 é um dos programas para a prática de digitação mais usados no Brasil. É o preferido das franquias DATA BYTE, Microlins, MICROCAMP e PREPARA. Faça o download e conheça-o você também. O Digitando é o único no Brasil que permite a execução de músicas e rítmos de bateria enquanto se pratica a digitação.
Veja mais Dicas & Truques na sub-categoria: Formulários e Janelas
Veja mais Dicas & Truques de outras linguagens
Fechar
Osmar J. Silva - Criador do site Arquivo de CódigosVocê está precisando de freelancer para ajudá-lo em seus códigos Java, Delphi, PHP, C#, VB.NET e outras linguagens?
Meu nome é Osmar J. Silva e atuo como freelancer desde 2001. Clique aqui e fale comigo por telefone, e-mail ou Skype.
Faculdade Delta - Goiânia-GO
Faculdade Delta - Goiânia-GO
Assinantes
Por favor, informe os dados abaixo para acessar sua conta:
Usuário:
Senha:
 
Esqueci minha senha
Quero criar uma conta
Veja mais Dicas & Truques de C# (CSharp)
 
Dicas e truques de Java
Dicas e truques de C++
Dicas e truques de Delphi
http://www.arquivodecodigos.net
2000 - 2013 - Todos os direitos reservados a Osmar J. Silva
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.

Posso copiar o conteúdo do site e colocar em meu site ou blog? Pode sim, desde que você coloque um link e referência
ao meu site. Caso não faça isso meu advogado fará todo o possível para deixar sua conta bancária com algumas centenas
de Reais a menos.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734
E-Mail: suporte@recomende.com
MSN: osmar@recomende.com (só para negócios, por favor)
Perfil no LinkedIn: http://br.linkedin.com/pub/osmar-j-silva-silva/8/94a/630

Para me contratar como freelancer ligue: (062) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva
Fechar