WPF - Usando MessageBox
A classe MessageBox exibe
uma caixa de mensagem que pode conter texto, botões e símbolos
com o objetivo de informar e instruir o usuário.
A classe MessageBox da WPF representa uma caixa
de diálogo modal de mensagem que é definida no namespace
System.Windows. O método estático Show da
MessageBox é o único método que é usado para exibir a caixa
de mensagem.
O método Show retorna uma enumeração MessageBoxResult
que tem valores como : None , OK, Cancelar, Sim e Não.
Podemos usar MessageBoxResult
para descobrir qual botão foi clicado em um MessageBox
e tomar uma ação apropriada.
Obs:
O método Show possui 13 métodos sobrecarregados que permitem
diversas possibilidades de uso.
Usando estes valores podemos usar o MessageBoxResult para descobrir qual botão foi clicado pelo usuário em um MessageBox e realizar o tratamento adequado.
Um dos métodos Show é mostrado a seguir:
MessageBox.Show (IWin32Window, String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton, MessageBoxOptions, String, HelpNavigator, Object)
Seguir veremos as principais possibilidades de utilização da classe MessageBox em uma aplicação WPF.
1- A maneira mais simples de usar a MessageBox
MessageBoxResult result = MessageBox.Show("MessageBox Simples"); |
2- MessageBox com Título
MessageBoxResult result = MessageBox.Show("MessageBox com Título","Macoratti.net"); |
3- MessageBox com Proprietário
MessageBoxResult result = MessageBox.Show(this,"MessageBox com Proprietário (this)"); |
Usando a Enumeração MessageBoxButton
A enumeração MessageBoxButton especifica constantes que definem quais botões serão exibidos na MessageBox:
Membro | Descrição |
---|---|
OK | A caixa de mensagem contém um botão OK; |
OKCancel | A caixa de mensagem contém os botões OK e Cancel; |
AbortRetryIgnore | A caixa de mensagem contém os botões Abort, Retry, e Ignore; |
YesNoCancel | A caixa de mensagem contém os botões Yes, No, e Cancel; |
YesNo | A caixa de mensagem contém os botões Yes e No; |
RetryCancel | A caixa de mensagem contém os botões Retry e Cancel; |
A seguir temos um dos exemplos de utilização de MessageBoxButton você pode usar qualquer uma das opções basta depois realizar o tratamento devido da seleção feita pelo usuário;
4- MessageBox com Título e botões Yes, No
if (MessageBox.Show("Deseja fechar a janela ?", "Confirmação",
MessageBoxButton.YesNo) == MessageBoxResult.Yes) { // fechar a janela } else { // Tomar outra ação } |
5- MessageBox com Título e botões Yes, No e Cancel
MessageBoxResult result = MessageBox.Show("Deseja fechar esta janela ?", "Confirmação", MessageBoxButton.YesNoCancel); if (result == MessageBoxResult.Yes) { this.Close(); } else if (result == MessageBoxResult.No) { // Código para o botão No } else { // Código para o botão Cancel } |
Usando Ícones em uma MessageBox com MessageBoxImage
A enumeração MessageBoxImage permite exibir ícones de acordo com a situação desejada. Veja abaixo os valores possíveis:
Membro | Descrição |
---|---|
None | A caixa de mensagem não contém símbolos. |
Hand | A caixa de mensagem contém um símbolo que consiste de um X branco em um círculo com um fundo vermelho. |
Question | A caixa de mensagem contém um símbolo representando uma questão em um círculo. |
Exclamation | A caixa de mensagem contém um símbolo de exclamação em um triângulo com fundo amarelo. |
Asterisk | A caixa de mensagem contém um símbolo de a uma letra I em um círculo com fundo azul. |
Stop | A caixa de mensagem contém um símbolo de um X branco em um círculo com um fundo vermelho. |
Error | A caixa de mensagem contém um símbolo de um X branco em um círculo com um fundo vermelho. |
Warning | A caixa de mensagem contém um símbolo de exclamação em um triângulo com fundo amarelo. |
Information | A caixa de mensagem contém um símbolo da leta I em um círculo com um fundo azul. |
6- MessageBox com Título e botões Yes, No e Ícone Question
string mensagem = "Confirma ? "; string titulo = "Confirmação"; MessageBoxButton botoes = MessageBoxButton.YesNo; MessageBoxImage icone = MessageBoxImage.Question; if (MessageBox.Show(message, titulo, butoes, icone) == MessageBoxResult.OK) { this.Close(); } else { // Código do botão Cancela } |
7- MessageBox com Título e botões OK e Cancel e Ícone Warning
MessageBoxResult result = MessageBox.Show(this, "Deseja fechar a janela", "Confirmação", MessageBoxButton.OKCancel, MessageBoxImage.Warning); if (result == MessageBoxResult.OK) { this.Close(); } else { /// ação para o botão Cancel } |
O projeto para mostrar os exemplos acima foi criado no SharpDevelop 4.0 usando os controles StackPanel e Button conforme o leiaute abaixo:
Pegue o projeto completo aqui: Wpf_MessageBox.zip
Eu sei é apenas WPF, mas eu gosto...
Referências: