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 | |
| Question | |
| Exclamation | |
| Asterisk | |
| Stop | |
| Error | |
| Warning | |
| Information |
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: