C# windows Form 之 MessageBox

在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("Hello World", "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
           }
posted on 2012-01-15 21:52  codmer  阅读(3197)  评论(0编辑  收藏  举报