在windows From 程序中消息框(MessageBox)是很常见的,它能非常方便的向用户提供各种显示信息。下面示例用MessageBox来显示每一位程序员都非常熟悉的两个单词。
class MessageBoxHelloworld
{
public static void Main()
{
System.Windows.Forms.MessageBox.Show("Hello World!");
}
}
当然,用运行上面程序需要在项目中添加引用System,System.Drawing以及System.Windows.Froms.
下面看下MSDN对MessageBox说明:
你不能实例化MessageBox类,为了显示一个消息框你只需要调用MessageBox.Show()即可。至于消息框的标题,内容,按钮以及显示的图标可以通过向Show()方法传入不同的参数来指定。
MessageBox从Object派生而来,除了实现了Object的方法外,MessageBox只实现了一个静态的Show()方法。但是该方法有多种的重载形式,来满足用户的需要。下面一一道来………
1.指定消息的标题
Show()方法的第一个参数是显示的信息内容,第二个参数则是消息的标题内容
MessageBox.Show(“Hello world”, “系统信息”);//'系统信息’显示在消息框的标题位置
2.显示的按钮
使用枚举MessageBoxButton来指明显示在消息框上的按钮,MessageBoxButton有以下6个成员:
OK , OKCancel , AbortRetryIgnore , YesNoCancel , YesNo , RetryCancel
从字面上就能很容易的指导每个枚举值所代表的按钮。需要说明的是,含有Retry的枚举值现在很少使用,这是MS-DOS在过去当用户试图访问一个由于某种原因
而无法响应的设备(通常是软盘)而显示的消息。
当你需要Ok和Cancel按钮时可以这样调用Show()
MessageBox.Show("Hello World", "System",MessageBoxButtons.OKCancel);
3.指定窗口的图标
消息框一般是用来给用户以提醒的,为了达到更好的提醒效果,需要为消息框指定一个图标(Icon)。.NET中也使用一个枚举来表示多种图标
成员 | 描述 |
---|---|
None | 无 |
Hand | 红色的背景,一个圆圈中一个白色的X |
Stop | 红色的背景,一个圆圈中一个白色的X |
Error | 红色的背景,一个圆圈中一个白色的X |
Question | 蓝色的背景,一个圆圈中一个白色的 |
Exclamation | 黄色的背景,一个三角中一个黑色的! |
Asterisk | 蓝色的背景,一个圆圈中一个白色的i |
Warning | 黄色的背景,一个三角中一个黑色的! |
Information | 蓝色的背景,一个圆圈中一个白色的i |
通过上表可以看出实际上只有4中不同的图标可供选择。
想要现实一个警告可以这样调用Show()
MessageBox.Show("HelloWorld","System",MessageBoxButtons.OK,MessageBoxIcon.Warning);
4.指定默认按钮
如果在消息框中指定了二个或三个按钮,可以使用枚举MessageBoxDefaultButton来指明那个按钮时默认的。例如:
MessageBox.Show("Hello World", "System",MessageBoxButtons.OKCancel,
MessageBoxIcon.Warning,MessageBoxDefaultButton.Button2);
上面代码指定了第二个按钮为默认按钮,该按钮将会在消息框上突出显示,并且它还响应键盘输入,例如按下空格键。
5.MessageBox的返回值
MessageBox 的返回值是DialogResult类型的枚举。该枚举有以下成员,用来指示用户按下的是那个按钮。
None , OK , Cancel , Abort , Retry , Ignore , Yes , No
下面代码是通常使用DialogResult的方式,
DialogResult dr = MessageBox.Show("是否创建一个新的文件", "系统信息",
MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (dr == DialogResult.OK)
{ //create a new file
}else
{ //do nothing
}
常用的两种:
1.提示警告
DevComponents.DotNetBar.MessageBoxEx.Show("");
MessageBoxEx.Show("请输入要查询的内容", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
2.确定与取消
if (DevComponents.DotNetBar.MessageBoxEx.Show("很抱歉,您输入的账号或密码有误请重输?", "友情提示", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
{
do something
}
3.询问
if (MessageBoxEx.Show("您确定退出本系统吗?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}
MessageBoxIcon: 所有图标样式
MessageBoxIcon.Question
MessageBoxIcon.Asterisk
MessageBoxIcon.Information
MessageBoxIcon.Error
MessageBoxIcon.Stop
MessageBoxIcon.Hand
MessageBoxIcon.Exclamation
MessageBoxIcon.Warning
MessageBoxIcon.None
MessageBox.Show (String, String, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton)
显示具有指定文本、标题、按钮、图标和默认按钮的消息框。