vb.net入门——Windows 窗体中的提示对话框


上一章,我们学了vb.net入门——Windows窗体的继承后,这里就来看看Windows 窗体中的提示对话框。

在基于Windows的应用程序中,对话框被用来提示用户提供应用程序的继续运行所需的数据或者向用户显示信息。对话框是一种特殊类型的窗体对象。

在Visual Basic .Net中提示对话框一般是指这两种:一种是等待并提示用户为程序运行输入指定的数据,称为"输入信息对话框",简称"输入对话框";另外一种就是起到提示作用,用以确认某种程序的操作,称为"信息提示对话框",简称"信息提示框"。

一、信息提示框

我们在使用Windows应用程序时候,碰到最多的就是信息提示框了,包括询问、警告以及操作完成等消息都是通过它来告知我们的。在vb.net中,有两种办法可以达到制作消息提示框的目的:一种是使用Msgbox函数,你要是使用过vb以前的版本的话一定对它很是熟悉了;第二种是使用.Net FrameWork SDK提供的类库MessageBox 类来实现。

方法一:Msgbox函数

该函数的结构:

Public Function MsgBox(ByVal Prompt As Object, _
Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _
Optional ByVal Title As Object = Nothing) As MsgBoxResult

参数说明:

Prompt
必选项。以消息形式显示在对话框中的 String 表达式。Prompt 的最大长度大约为 1024 个字符,具体取决于所用字符的宽度。如果 Prompt 中包含多个行,则可在各行之间用回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 分隔各行。
Buttons
可选项。数值表达式,它是值的总和,指定显示的按钮数目及按钮类型,使用的图标样式,默认按钮的标识以及消息框的样式等。如果省略 Buttons,则默认值为零。
Title
可选项。显示在对话框标题栏中的 String 表达式。如果省略 Title,则将应用程序名放在标题栏中。

下面五个表列出了 MsgBoxStyle 枚举值。

枚举 说明
OKOnly 0 只显示“确定”按钮。
OKCancel 1 显示“确定”和“取消”按钮。
AbortRetryIgnore 2 显示“中止”、“重试”和“忽略”按钮。
YesNoCancel 3 显示“是”、“否”和“取消”按钮。
YesNo 4 显示“是”和“否”按钮。
RetryCancel 5 显示“重试”和“取消”按钮。
表一:描述对话框中显示的按钮的数目和类型
 
枚举 说明
Critical 16 显示“关键消息”图标。
Question 32 显示“警告查询”图标。
Exclamation 48 显示“警告消息”图标。
Information 64 显示“信息消息”图标。
表二:描述图标样式
 
枚举 说明
DefaultButton1 0 第一个按钮是默认的。
DefaultButton2 256 第二个按钮是默认的。
DefaultButton3 512 第三个按钮是默认的。
表三:确定哪个按钮是默认的
 
枚举 说明
ApplicationModal 0 应用程序是有模式的。用户必须响应消息框,才能继续在当前应用程序中工作。。
SystemModal 4096 系统是有模式的。所有应用程序都被挂起,直到用户响应消息框。
表四:确定消息框的样式
 
枚举 说明
MsgBoxSetForeground 65536 指定消息框窗口为前景窗口。
MsgBoxRight 524288 文本为右对齐。
MsgBoxRtlReading 1048576 指定文本应为在希伯来语和阿拉伯语系统中从右到左显示。
表五:指定消息框窗口是否为前景窗口以及文本的对齐方式和方向

以上五个表把MsgBoxStyle枚举值分为五个组,可以将这些枚举值相加以生成 Buttons 参数的最终值,但是要注意只能由每组中取用一个枚举值。

函数返回值:MsgBoxResult,下表列出了函数的返回值

常量
OK 1
Cancel 2
Abort 3
Retry 4
Ignore 5
Yes 6
No 7

表六:Msgbox函数的返回值

 

下面我们演示弹出一个警告提示框,如下图一所示:

图一

仔细观察上面的警告提示框,其标题栏的文字为"警告",图标为"警告消息"图标,按钮为显示"确定"和"取消"两个按钮,默认按钮为第一个按钮,提示文字为"演示警告对话框",所以在Msgbox函数的各个参数为:

Prompt="演示警告对话框"

Title="警告"

Buttons中包含三个值,警告图标(MsgBoxStyle.Exclamation)、按钮数目和类型(MsgBoxStyle.OKCancel)、默认按钮(MsgBoxStyle.DefaultButton1)。

综合以上我们可以得到如下一个完整的Msgbox函数的代码:

MsgBox("演示警告对话框", MsgBoxStyle.Exclamation Or MsgBoxStyle.OKCancel Or MsgBoxStyle.DefaultButton1, "警告")

注意:MsgBoxStyle各枚举值之间是用or连接,而不能用其它的符号!

经过上面的介绍,相信你对Msgbox函数已经会用了,但是在vb.net中,我们并不推荐使用Msgbox函数来制作信息提示框,下面我们就来讲讲vb.net更加强大更加灵活的MessageBox 类来实现信息提示框。

方法二:MessageBox 类实现信息提示框

经过上面的介绍,相信你对Msgbox函数已经会用了,但是在vb.net中,我们并不推荐使用Msgbox函数来制作信息提示框,下面我们就来讲讲vb.net更加强大更加灵活的MessageBox 类来实现信息提示框。

MessageBox类位于命名空间System.Windows.Forms中,它是一个静态类,所谓静态类,就是不通过创建实例就能够直接使用类中的方法。MessageBox类组成非常简单,其中最为重要的成员就是Show方法,Visual Basic .Net就是通过调用MessageBox类的Show方法来显示信息对话框的。Visual Basic .Net只使用MessageBox类是无法制作各式各样的信息对话框,还需要使用到命名空间System.Windows.Forms定义的若干枚举,这些枚举可以设定信息对话框中的各个元素。.Net 类库把信息对话框中的各个元素进行了细化,这一点不像MsgBox函数中使用的MsgBoxStryle枚举,MsgBoxStryle枚举把按钮的数目、种类、图标、按钮缺省焦点都定义到一起了。而.Net类库中定义了不同的枚举用以定义信息对话框中的各种元素。这些枚举就是:MessageBoxIcon、MessageBoxButtons和MessageBoxDefaultButton枚举。

  MessageBox类中有很多重载Show方法,下面是最为常用的一种重载Show方法的语法格式:

Overloads Public Shared Function Show (ByVal text As String ,ByVal caption As String , _
ByVal buttons As MessageBoxButtons ,ByVal icon As MessageBoxIcon ,ByVal defaultButton As MessageBoxDefaultButton ) As DialogResult

参数说明:

text 必选,提示框中显示的内容。
   caption 可选,提示框标题栏中显示的文本。
   buttons 可选,MessageBoxButtons值之一,设定提示框中的按钮数目和类型。
   icon 可选,MessageBoxIcon值之一,设定提示框中显示的图标类型。
   defaultButton 可选,MessageBoxDefaultButton值之一,设定提示框缺省焦点按钮。
   返回值 DialogResult值之一。

下面三个表分别列出了MessageBoxIcon、MessageBoxButtons和MessageBoxDefaultButton枚举值:

成员名称 说明
Asterisk 信息符号图标。
Error 关键符号图标
Exclamation 感叹符号图标。
Hand 关键符号图标。
Information 信息符号图标
None 无图标。
Question 问号图标。
Stop 关键符号图标。
Warning 感叹符号图标。

表七:MessageBoxIcon枚举值枚举的成员及其说明

成员名称 说明
AbortRetryIgnore 提示框中包含"中止"、"重试"和"忽略"按钮。
OK 提示框中包含"确定"按钮。
OKCancel 该提示框中包含"确定"和"取消"按钮。
RetryCancel 提示框中包含"重试"和"取消"按钮。
YesNo 提示框中包含"是"和"否"按钮。
YesNoCancel 提示框中包含"是"、"否"和"取消"按钮。
AbortRetryIgnore 提示框中包含"中止"、"重试"和"忽略"按钮。

表八:MessageBoxButton枚举的成员及其说明

成员名称 说明
Button1 提示框中的第一个按钮是缺省焦点按钮。
Button2 提示框中的第二个按钮是缺省焦点按钮。
Button3 提示框中的第三个按钮是缺省焦点按钮。

表九:MessageBoxDefaultButton枚举的成员及其说明

下面代码的功能是用MessageBox类的Show方法制作上图一中所示警告提示框:
MessageBox.Show("演示警告对话框", "警告", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)
本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3