C# MessageBox 消息对话框
在程序中,我们经常使用消息对话框给用户一定的信息提示,如在操作过程中遇到错误或程序异常,经常会使用这种方式给用于以提示。在C#中,MessageBox消息对话框位于System.Windows.Forms命名空间中,一般情况,一个消息对话框包含信息提示文字内容、消息对话框的标题文字、用户响应的按钮及信息图标等内容。C#中允许开发人员根据自己的需要设置相应的内容,创建符合自己要求的信息对话框。
MessageBox消息对话框只提供了一个方法Show(),用来把消息对话框显示出来。此方法提供了不同的重载版本,用来根据自己的需要设置不同风格的消息对话框。此方法的返回类型为DialogResult枚举类型,包含用户在此消息对话框中所做的操作(点击了什么按钮),其可能的枚举值有以下几种:
成员名称 | 说明 |
AbortRetryIgnore | 在消息框对话框中提供“中止”、“重试”和“忽略”三个按钮 |
OK | 在消息框对话框中提供“确定”按钮 |
OKCancel | 在消息框对话框中提供“确定”和“取消”两个按钮 |
RetryCancel | 在消息框对话框中提供“重试”和“取消”两个按钮 |
YesNo | 在消息框对话框中提供“是”和“否”两个按钮 |
YesNoCancel | 在消息框对话框中提供“是”、“否”和“取消”三个按钮 |
开发人员可以根据这些返回值判断接下来要做的事情。
在Show方法的参数中使用MessageBoxButtons来设置消息对话框要显示的按钮的个人及内容,此参数也是一个枚举值,其成员如下表所示:
成员名称 | 说明 |
AbortRetryIgnore | 在消息框对话框中提供“中止”、“重试”和“忽略”三个按钮 |
OK | 在消息框对话框中提供“确定”按钮 |
OKCancel | 在消息框对话框中提供“确定”和“取消”两个按钮 |
RetryCancel | 在消息框对话框中提供“重试”和“取消”两个按钮 |
YesNo | 在消息框对话框中提供“是”和“否”两个按钮 |
YesNoCancel | 在消息框对话框中提供“是”、“否”和“取消”三个按钮 |
在设计中,可以指定上表中的任何一个枚举值所提供的按钮,单击任何一个按钮都会对应DialogResult中的一个值。
在Show方法中使用MessageBoxIcon枚举类型定义显示在消息框中的图标类型,其可能的取值和形式如下表:
成员名称 | 图标形式 | 说明 |
Asterisk | ![]() |
圆圈中有一个字母i组成的提示符号图标 |
Error | ![]() |
红色圆圈中有白色X所组成的错误警告图标 |
Exclamation | ![]() |
黄色三角中有一个!所组成的符号图标 |
Hand | ![]() |
红色圆圈中有一个白色X所组成的图标符号 |
Information | ![]() |
信息提示符号 |
None | 没有任何图标 | |
Question | ![]() |
由圆圈中一个问号组成的符号图标 |
Stop | ![]() |
背景为红色圆圈中有白色X组成的符号 |
Warning | ![]() |
由背景为黄色的三角形中有个!组成的符号图标 |
除上面的参数之外,还有一个MessageBoxDefaultButton枚举类型的参数,指定消息对话框的默认按钮。
下面是一个运用消息对话框的例子:
新建一个Windows应用程序,并从工具箱当中拖拽到窗口里一个按钮,把按钮和窗口的Text属性修改为“测试消息对话框”,双击该按钮,添加如下代码:

- DialogResult dr;
- dr=MessageBox.Show("测试一下消息对话框!","测试测试",MessageBoxButtons.YesNoCancel,
- MessageBoxIcon.Warning,MessageBoxDefaultButton.Button1);
- if(dr==DialogResult.Yes)
- MessageBox.Show("你选择的为“是”按钮","系统提示1");
- else if(dr==DialogResult.No)
- MessageBox.Show("你选择的为“否”按钮","系统提示2");
- else if(dr == DialogResult.Cancel)
- MessageBox.Show("你选择的为“取消”按钮","系统提示3");
- else
- MessageBox.Show("你没有进行任何的操作!","系统提示4");

系统运行后,将出现如下界面:
单击按钮“测试消息对话框”,将出现如下消息对话框:
分别单击三个按钮,将出现如下三种情况:
C# MessageBox 消息对话框的更多相关文章
- C#中的MessageBox消息对话框
关键字:C# MessageBox 消息对话框 在程序中,我们经常使用消息对话框给用户一定的信息提示,如在操作过程中遇到错误或程序异常,经常会使用这种方式给用于以提示.在C#中,MessageBox消 ...
- [转载]ExtJs4 笔记(6) Ext.MessageBox 消息对话框
作者:李盼(Lipan) 出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法 ...
- ExtJs4 笔记(6) Ext.MessageBox 消息对话框
本篇演示消息对话框的用法,ExtJs封装了可能用到的各类消息框,并支持自定义的配置. 如下是用到的html: [html] <h1>各种消息框</h1> <div id= ...
- 消息对话框 MessageBoxButtons
消息对话框MessageBox经常用于向用户显示通知信息.例如,在操作过程中遇到错误或程序异常,经常会使用这种方式给用户以提示,它是特殊类型的对话框. 在C#中,MessageBox消息对话框位于Sy ...
- 消息对话框(MessageBox)用法介绍
在软件中我们经常会弹出个小窗口,给一点点提示.这就会用到消息对话框. 在Win32 API程序中只有MessageBox这一种用法. 而在MFC中就有三各方法: 1.调用API中的MessageBox ...
- Qt——消息对话框的设计
1.消息对话框是什么 消息对话框(MessageBox)提供了一个模态对话框,用来通知用户某些信息,或者用来询问用户一个问题并获得一个答复. 先看下面2张图—— 第一张图是网易云音乐的界面截图,在删除 ...
- MFC编程入门之十六(对话框:消息对话框)
前面几节讲了属性页对话框,我们可以根据所讲内容方便的建立自己的属性页对话框.本节讲解Windows系统中最常用最简单的一类对话框--消息对话框. 我们在使用Windows系统的过程中经常会见到消息对话 ...
- 【转】Delphi的消息对话框
Delphi的消息对话框 输入输出inputBox()函数MessageBox()ShowMessage 对话框是Windows操作系统中程序与用户沟通的一种常见的交互方式,对话框可以向用户提供当前程 ...
- 工作总结:VS2010/MFC编程入门之十六(对话框:消息对话框)
原文地址:http://www.jizhuomi.com/software/171.html 我们在使用Windows系统的过程中经常会见到消息对话框,提示我们有异常发生或提出询问等.因为在软件开发中 ...
随机推荐
- 网站怎么布局能解决不同浏览器对CSS解析的差异,使用css reset
很多地方都提到过CSS Reset这个概念,而且细心的朋友会发现,许多大网站的CSS文件中也含有CSS Reset内容. CSS Reset是什么? 在HTML标签在浏览器里有默认的样式,例如 p 标 ...
- Binary Tree Preorder Traversal -- leetcode
Given a binary tree, return the preorder traversal of its nodes' values. For example: Given binary t ...
- $stateProvider resovle 无法找到的原因
$stateProvider 在写resolve的时候,也要写上controller,不能直接在页面上用ng-controller 来指定!!!! 不然的话,就是报依赖注入异常,找不到该provide ...
- Codeforces 570D TREE REQUESTS dfs序+树状数组 异或
http://codeforces.com/problemset/problem/570/D Tree Requests time limit per test 2 seconds memory li ...
- Druid对比Redshift
Redshift 内部使用了亚马逊取得了授权的ParAccel 实时注入数据 抛开可能的性能不同, 有功能性的不同 Druid 适合分析大数据量的流式数据, 也能够实时加载和聚合数据一般来讲, 传统的 ...
- ubuntu16.04彻底卸载mysql并且重新安装mysql
首先删除mysql: sudo apt-get remove mysql-* dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 清理完毕: ...
- 核弹级的git指令 git filter-branch
比如一不小心把node模块目录加入git仓库了,导致仓库很大 : git filter-branch --index-filter 'git rm --cached --ignore-unmatc ...
- Mac OS X 10.10 执行 Eclipse 提示须要安装 Java
- Elasticsearch的javaAPI之query dsl-queries
Elasticsearch的javaAPI之query dsl-queries 和rest query dsl一样,elasticsearch提供了一个完整的Java query dsl. 查询建造者 ...
- android工具类(2)NetWorkHelper 网络工具类
import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkIn ...