[摘要]一.输入对话框: 制作输入对话框相对信息提示框来相对简单,在Visual Basic .Net,输入对话框是通过InputBox函数来完成的。以下是InputBox函数在Visual Basic...
一.输入对话框:
制作输入对话框相对信息提示框来相对简单,在Visual Basic .Net,输入对话框是通过InputBox函数来完成的。以下是InputBox函数在Visual Basic .Net中的语法:
Public Function InputBox (ByVal Prompt As String ,Optional ByVal Title As String = "" , _
Optional ByVal DefaultResponse As String = "" ,Optional ByVal XPos As Integer = -1 , _
Optional ByVal YPos As Integer = -1) As String
参数说明:
Prompt:
必选项。以消息形式显示在对话框中的String表达式。Prompt的最大长度大约为1024个字符,具体取决于所用字符的宽度。如果 Prompt 中包含多个行,则可在各行之间用回车符(Chr(13))、换行符(Chr(10))或回车换行符的组合(Chr(13)&Chr(10))分隔各行。
Title:
可选项。显示在对话框标题栏中的String表达式。如果省略Title则将应用程序名放在标题栏中。
DefaultResponse:
可选项。显示在文本框中的String表达式,在没有提供其他输入时作为默认响应。如果省略DefaultResponse,则显示的文本框为空。
XPos:
可选项。数值表达式,以缇为单位指定对话框的左边与屏幕左边的距离。如省略XPos,对话框将水平居中。
YPos:
可选项。数值表达式,以缇为单位指定对话框的上边与屏幕上边的距离。如果省略ypos,则对话框位于在屏幕垂直方向距下边缘大约三分之一处。
以下就是在Visual Basic .Net中使用InputBox函数制作如图01所示对话框的具体代码:
Dim message , title , defaultValue As String
Dim myValue As Object
message = "请输入数值,数值在1-3之间!" '设定对话框提示信息
title = "输入提示框!" '设置对话框标题
defaultValue = "1" '设定对话框中缺省的数值
myValue = InputBox ( message , title , defaultValue , 100 , 100 )
'设定对话框在左上角坐标位于桌面(100,100)区域显示

图01:通过InputBox函数制作的提示对话框
二.信息对话框简介:
由于信息对话框使用的频率较高,并且结构相对复杂,所以本文的重点就是介绍在
Visual Basic .Net各种类型信息对话框的制作方法。Visual Basic .NetVisual Basic .Net制作信息对话框的方法主要有二种,这二种方法所使用的东西虽然完全不一样,但结果却异曲同工。第一种主要使用的是MsgBox函数,以前版本的Visual Basic也是使用MsgBox函数来制作信息对话框;另外一种使用的是.Net FrameWork SDK中提供的类库。
一个结构完整的信息对话框大致是由五个部分组成的,具体如图02所示:

图02:一个完整的信息对话框组成结构图
三.MsgBox函数的参数结构和调用:
MsgBox函数中的参数主要由三个部分组成,第一部分:信息对话框的显示内容,即
图01中第二部分内容,这个部分是必须要有的,显示内容可以是单行或多行,在设定多行时,行与行之间通过回车符(Chr(13))、换行符(Chr( 10 ))或回车换行符的组合 (Chr( 13 ) & Chr( 10 )) 分隔;第二部分:定义信息对话框的组成结构,即图02中的第一、第三和第四部分,Visual Basic .Net提供了一个枚举MsgBoxStyle来分别设定这三个部分。表01、表02和表03分别是这三部分内容所对应的MsgBoxStyle枚举值和说明:
枚举数值说明
OKOnly0 只显示"确定"按钮。
OKCancel1 显示"确定"和"取消"按钮。
AbortRetryIgnore2 显示"中止"、"重试"和"忽略"按钮。
YesNoCancel3 显示"是"、"否"和"取消"按钮。
YesNo4 显示"是"和"否"按钮。
表01:MsgBoxStyle枚举中设定信息对话框中按钮的数目和类型,即图01中第四部分
枚举数值说明
Critical16 显示"关键消息"图标。
Question 32 显示"警告查询"图标。
Exclamation48 显示"警告消息"图标。
Information 64 显示"信息消息"图标。
表02:MsgBoxStyle枚举中设定信息对话框中图标的样式,即图01中第一部分
枚举数值说明
DefaultButton10 提示框中的第一个按钮是默认焦点按钮。
DefaultButton2256 提示框中的第二个按钮是默认焦点按钮。
DefaultButton3512 提示框中的第三个按钮是默认焦点按钮。
表03:MsgBoxStyle枚举中设定信息对话框中缺省焦点按钮,即图01中第三部分
MsgBoxStyle中还定义了其他的数值,由于在实际编程使用较少,这里就不介绍了。
定义信息对话框的组成结构,只需按照信息对话框的内容分别选取表01、表02和表03中的数值,但每一张表中至多只能选取一个数值,然后把它们相加就完成了。MsgBox函数参数第二部分并不是必须有的,如果在调用MsgBox函数时没有第二部分参数,则系统会自动设定第二部分数值为"MsgBoxStyle.OKOnly";第三部分:设定信息对话框的标题栏内容,即表01中的第五部分,在MsgBox函数中第三部分是可选的,如果没有设定,则系统会把应用程序名称放在标题栏。下面是MsgBox的语法结构:
Public Function MsgBox ( _
ByVal Prompt As Object , _
Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly , _
Optional ByVal Title As Object = Nothing _
) As MsgBoxResult
下面代码的功能是是调用MsgBox函数制作如图01所示信息对话框:
MsgBox ( "请确认操作!" , MsgBoxStyle.Question + MsgBoxStyle.YesNoCancel + MsgBoxStyle.DefaultButton2 , "利用MsgBox函数制作信息对话框" )
在Visual Basic .Net中系统定义枚举和对应数值是等价的,根据表01、02和03所示数值,也可以把上述代码改换为如下代码:
MsgBox ( "请确认操作!" , 32 + 3 + 256 , "利用MsgBox函数制作信息对话框" )
四.获取MsgBox函数制作的信息对话框的返回值:
使用MsgBox函数制作的信息对话框,当单击了提示框中的按钮后,MsgBox函数会返回一个常数来确认那个按钮被按动了。表04是按钮和常数之间的对应关系
常数数值
确定1
取消2
退出3
重试4
忽略5
是6
否 7
表04:MsgBox函数的返回值
通过对返回值的判断,就可以确定信息对话框中到底是那个按钮被按动,从而确定程序下一步的运行方式。
五.一个利用MsgBox函数来定制信息对话框的示例:
为了更全面、更具体的掌握MsgBox函数的使用的方法,我们编写了下面示例,下面的示例几乎覆盖了利用MsgBox函数制作信息对话框的所有内容,使用者可以根据要求定制任意形式的信息对话框,并获取使用者在信息对话框中选择的按钮类型。图03是利用下面介绍的示例定制一个信息对话框后的运行界面:

图03:利用MsgBox函数来定制信息对话框 下面是此示例的具体实现步骤:
1. 启动Visual Studio .Net。
2. 选择菜单【文件】
关键词:深入浅出VB.NET提示对话框