Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma caixa de mensagem é uma caixa de diálogo que é usada para exibir rapidamente as informações e, opcionalmente, permitir que os usuários tome decisões. O acesso à caixa de mensagem é fornecido pela MessageBox classe. Uma caixa de mensagem é exibida de forma modal. E o código que exibe a caixa de mensagem é pausado até que o usuário feche a caixa de mensagem com o botão fechar ou um botão de resposta.
A ilustração a seguir demonstra as partes de uma caixa de mensagem:
- Uma barra de título com uma legenda (1).
- Um botão fechar (2).
- Ícone (3).
- Mensagem exibida para o usuário (4).
- Botões de resposta (5).
Para apresentar ou coletar dados complexos, uma caixa de diálogo pode ser mais adequada do que uma caixa de mensagem. Para obter mais informações, consulte a visão geral das caixas de diálogo.
Exibir uma caixa de mensagem
Para criar uma caixa de mensagem, use a classe MessageBox. O MessageBox.Show método permite que você configure o texto, o título, o ícone e os botões da caixa de mensagem, mostrados no código a seguir:
string messageBoxText = "Do you want to save changes?";
string caption = "Word Processor";
MessageBoxButton button = MessageBoxButton.YesNoCancel;
MessageBoxImage icon = MessageBoxImage.Warning;
MessageBoxResult result;
result = MessageBox.Show(messageBoxText, caption, button, icon, MessageBoxResult.Yes);
Dim messageBoxText As String = "Do you want to save changes?"
Dim caption As String = "Word Processor"
Dim Button As MessageBoxButton = MessageBoxButton.YesNoCancel
Dim Icon As MessageBoxImage = MessageBoxImage.Warning
Dim result As MessageBoxResult
result = MessageBox.Show(messageBoxText, caption, Button, Icon, MessageBoxResult.Yes)
As sobrecargas do método MessageBox.Show fornecem maneiras de configurar a caixa de mensagem. Estas opções incluem:
- Legenda da barra de título
- Ícone da mensagem
- Texto da mensagem
- Botões de resposta
Aqui estão mais alguns exemplos de como usar uma caixa de mensagem.
Exibir um alerta.
MessageBox.Show("Unable to save file, try again.");MessageBox.Show("Unable to save file, try again.")O código anterior exibe uma caixa de mensagem como a seguinte imagem:
É uma boa ideia usar as opções fornecidas pela classe de caixa de mensagem. Usando o mesmo alerta de antes, defina mais opções para torná-lo mais atraente visualmente:
MessageBox.Show("Unable to save file, try again.", "Save error", MessageBoxButton.OK, MessageBoxImage.Error);MessageBox.Show("Unable to save file, try again.", "Save error", MessageBoxButton.OK, MessageBoxImage.Error)O código anterior exibe uma caixa de mensagem como a seguinte imagem:
Exibir um aviso.
MessageBox.Show("If you close the next window without saving, your changes will be lost.", "Configuration", MessageBoxButton.OK, MessageBoxImage.Warning);MessageBox.Show("If you close the next window without saving, your changes will be lost.", "Configuration", MessageBoxButton.OK, MessageBoxImage.Warning)O código anterior exibe uma caixa de mensagem como a seguinte imagem:
Faça uma pergunta ao usuário.
if (MessageBox.Show("If the file save fails, do you want to automatically try again?", "Save file", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { // Do something here }If MessageBox.Show("If the file save fails, do you want to automatically try again?", "Save file", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then ' Do something here End IfO código anterior exibe uma caixa de mensagem como a seguinte imagem:
Lidar com uma resposta de caixa de mensagem
O MessageBox.Show método exibe a caixa de mensagem e retorna um resultado. O resultado indica como o usuário fechou a caixa de mensagem:
result = MessageBox.Show(messageBoxText, caption, button, icon, MessageBoxResult.Yes);
switch (result)
{
case MessageBoxResult.Cancel:
// User pressed Cancel
break;
case MessageBoxResult.Yes:
// User pressed Yes
break;
case MessageBoxResult.No:
// User pressed No
break;
}
result = MessageBox.Show(messageBoxText, caption, Button, Icon, MessageBoxResult.Yes)
Select Case result
Case MessageBoxResult.Cancel
' User pressed Cancel
Case MessageBoxResult.Yes
' User pressed Yes
Case MessageBoxResult.No
' User pressed No
End Select
Quando um usuário pressiona os botões na parte inferior da caixa de mensagem, o correspondente MessageBoxResult é retornado. No entanto, se o usuário pressionar a tecla ESC ou pressionar o botão Fechar (nº 2 na ilustração da caixa de mensagem), o resultado da caixa de mensagem varia de acordo com as opções do botão:
| Opções de botão | Resultado do botão ESC ou Fechar |
|---|---|
OK |
OK |
OKCancel |
Cancel |
YesNo |
Atalho de teclado ESC e botão Fechar desabilitado. O usuário deve pressionar Sim ou Não. |
YesNoCancel |
Cancel |
Para obter mais informações sobre como usar caixas de mensagem, consulte MessageBox e o exemplo de MessageBox.
Consulte também
.NET Desktop feedback