当前位置:嗨网首页>书籍在线阅读

12-消息对话框

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

13.3.3 消息对话框

消息对话框MessageBox经常用于向用户显示通知信息,如在操作过程中遇到错误或程序异常,经常会使用这种方式给用户以提示,它是特殊类型的对话框。在C#中,MessageBox消息对话框位于System.Windows.Forms命名空间中,一般情况下,一个消息对话框包含消息对话框的标题文字、信息提示文字内容、信息图标及用户响应的按钮等内容。C#中允许开发人员根据自己的需要设置相应的内容,创建符合自己要求的信息对话框。

MessageBox消息对话框只提供了一个方法Show( ),用来把消息对话框显示出来。此方法提供了不同的重载版本,用来根据自己的需要设置不同风格的消息对话框。

1.消息框按钮

在Show方法的参数中使用MessageBoxButtons来设置消息对话框要显示的按钮的个数及内容,此参数是一个枚举值,其成员如下表所示。

| 枚举值 | 说明 | | :----- | :----- | :----- | :----- | | AbortRetryIgnore | 在消息框中提供“中止”、“重试”和“忽略”三个按钮 | | OK | 在消息框中提供“确定”按钮 | | OKCancel | 在消息框中提供“确定”和“取消”两个按钮 | | RetryCancel | 在消息框中提供“重试”和“取消”两个按钮 | | YesNo | 在消息框中提供“是”和“否”两个按钮 | | YesNoCancel | 在消息框中提供“是”、“否”和“取消”三个按钮 |

可以看出,一个消息框中最多可显示3个按钮。

2.消息对话框的返回值

单击消息对话框中的按钮时,Show方法将返回一个DialogResult枚举值,指明用户在此消息对话框中所做的操作(点击了什么按钮),其可能的枚举值如下表所示。开发人员可以根据这些返回值判断接下来要做的事情。

| 枚举值 | 说明 | | :----- | :----- | :----- | :----- | | Abort | 消息框的返回值是“中止”(Abort),即单击了“中止”按钮 | | Cancel | 消息框的返回值是“取消”(Cancel),即单击了“取消”按钮 | | Ignore | 消息框的返回值是“忽略”(Ignore),即单击了“忽略”按钮 | | No | 消息框的返回值是“否”(No),即单击了“否”按钮 | | Ok | 消息框的返回值是“确定”(Ok),即单击了“确定”按钮 | | Retry | 消息框的返回值是“重试”(Retry),即单击了“重试”按钮 | | None | 消息框没有任何返回值,即没有单击任何按钮 | | Yes | 消息框的返回值是“是”(Yes),即单击了“是”按钮 |

3.消息框图标

在Show方法中还可使用MessageBoxIcon枚举类型作为参数定义显示在消息框中的图标,尽管可供选择的图标只有4个,但是在该枚举中共有9个成员,其可能的取值和形式如下表所示。

| 枚举值 | 图标形式 | 说明 | | :----- | :----- | :----- | :----- | :----- | | Asterisk | | 圆圈中有一个字母“i”组成的提示符号图标 | | Error | | 红色圆圈中有白色“×”所组成的错误警告图标 | | Exclamation | | 黄色三角中有一个“!”所组成的符号图标 | | Hand | | 红色圆圈中有一个白色“×”所组成的图标符号 | | Information | | 信息提示符号 | | Question | | 由圆圈中一个问号组成的符号图标 | | Stop | | 由背景为红色圆圈中有白色“×”组成的符号 | | Warning | | 由背景为黄色的三角形中有个“!”组成的符号图标 | | None | | 没有任何图标 |

下面是一个运用消息对话框的例子。

新建一个Windows窗体应用程序,并从工具箱中拖曳一个Button按钮到窗口里,把按钮和窗口的Text属性修改为“测试消息对话框”,双击该按钮,添加如下代码。

01  DialogResult dr;
02  dr=MessageBox.Show("测试消息对话框,并通过返回值查看您选择了哪个按钮!", "消息对话框",
    MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
03  if (dr==DialogResult.Yes)
04          MessageBox.Show("您选择的为“是”按钮","系统提示1");
05  else if (dr==DialogResult.No)
06          MessageBox.Show("您选择的为“否”按钮","系统提示2");
07  else if (dr == DialogResult.Cancel)
08          MessageBox.Show("您选择的为“取消”按钮","系统提示3");

程序运行后,将出现如下图所示的执行界面。

225.jpg 单击“测试消息对话框”按钮,将出现如下图所示的消息对话框。

226.jpg 分别单击消息对话框中的三个按钮,将出现3个消息框,指明用户分别单击了消息对话框中的哪个按钮。

227.jpg 228.jpg 229.jpg