五.一个利用MsgBox函数来定制信息对话框的示例:
为了更全面、更具体的掌握MsgBox函数的使用的方法,我们编写了下面示例,下面的示例几乎覆盖了利用MsgBox函数制作信息对话框的所有内容,使用者可以根据要求定制任意形式的信息对话框,并获取使用者在信息对话框中选择的按钮类型。图03是利用下面介绍的示例定制一个信息对话框后的运行界面:
 图03:利用MsgBox函数来定制信息对话框
下面是此示例的具体实现步骤:
1.
启动Visual Studio .Net。
2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
3.
将【项目类型】设置为【Visual Basic项目】。
4. 将【模板】设置为【Windows应用程序】。
5. 在【名称】文本框中输入【利用MsgBox函数制作提示框】。
6.
在【位置】的文本框中输入【E:\VS.NET项目】,然后单击【确定】按钮,这样在"E:\VS.NET项目"目录中就产生了名称为"利用MsgBox函数制作提示框"的文件夹,并在里面创建了名称为"利用MsgBox函数制作提示框"的项目文件。
7.
把Visual Studio .Net的当前窗口切换到【Form1.vb(设计)】窗口,并从【工具箱】中的【Windows窗体组件】选项卡中按照如下顺序和方法往Form1窗体中拖入下列组件:
三个Label组件。 三个TextBox组件。 三个GroupBox组件,分别是GroupBox1、GroupBox2和GroupBox3。
并在GroupBox1组件中拖入RadioButton1、RadioButton2、RadioButton3和RadioButton4。 并在GroupBox2组件中拖入RadioButton5、RadioButton6、RadioButton7、RadioButton8、RadioButton9和RadioButton10。
并在GroupBox3组件中拖入RadioButton12、RadioButton13和RadioButton14。
一个Button组件,名称为Button1。
之后按照表05所示数值来调整组件的主要属性:
| 组件类型 | 组件名称 | 属性 | 设置结果 |
| Form | Form1 | Text | 利用MsgBox函数制作提示框 |
| MaximizeBox | False | | MinimizeBox | False |
| GroupBox | GroupBox1 | Text | 显示图标 |
| GroupBox | GroupBox2 | Text | 显示按钮 | | GroupBox | GroupBox3
| Text | 缺省焦点按钮 | | RadioButton | RadioButton1 | Text | 关键符号 |
| RadioButton | RadioButton1 | Checked | True |
| | RadioButton2 | Text | 惊叹符号 | | | RadioButton3 | Text
| 信息符号 | | | RadioButton4 | Text | 问号 |
| | RadioButton5 | Text | 终止重试忽略 | | | RadioButton6 | Text
| 是否取消 | | | RadioButton7 | Text | 是否 |
| | RadioButton8 | Text | 重试取消 | | | RadioButton9 | Text
| 确定取消 | | | RadioButton10 | Checked | True |
| | RadioButton10 | Text | 确定 | | | RadioButton12
| Text | 第三按钮 | | | RadioButton13 | Text | 第二按钮 |
| | RadioButton14 | Text | 替换 | | | RadioButton14
| Checked | True | | TextBox | TextBox1 | Text
| | | | TextBox2 | Text | |
| | TextBox3 | Text | |
表05:【利用MsgBox函数制作提示框】项目中组件主要属性设定数值表
在设定完组件中的主要属性值后,再按照图02所示中各组件的位置和排列顺序来调整组件在设计窗体中的位置和排列顺序。
8.
把Visual Basic .Net的当前窗口切换到Form1.vb的代码编辑窗口,并在Form1.vb中的New过程代码区最后部分添加下列代码,下列代码是指定Icon_Click、Button_Click和Default_Click三个过程委托来集中处理RadioButton组件的Click事件:
AddHandler RadioButton1.Click,
AddressOf Icon_Click AddHandler RadioButton2.Click, AddressOf Icon_Click AddHandler
RadioButton3.Click, AddressOf Icon_Click AddHandler RadioButton4.Click, AddressOf
Icon_Click
AddHandler RadioButton5.Click, AddressOf Button_Click AddHandler
RadioButton6.Click, AddressOf Button_Click AddHandler RadioButton7.Click, AddressOf
Button_Click AddHandler RadioButton8.Click, AddressOf Button_Click AddHandler
RadioButton9.Click, AddressOf Button_Click AddHandler RadioButton10.Click,
AddressOf Button_Click
AddHandler RadioButton12.Click, AddressOf Default_Click AddHandler
RadioButton13.Click, AddressOf Default_Click AddHandler RadioButton14.Click,
AddressOf Default_Click | 9. 在创建Form1窗体的组件的代码区,定义下列变量,下列变量是设定程序中制作的信息对话框缺省的组成元素:
Dim MsgIcon As MsgBoxStyle
= MsgBoxStyle.Critical Dim MsgButton As MsgBoxStyle = MsgBoxStyle.OKOnly Dim
DefaultButton As MsgBoxStyle = MsgBoxStyle.DefaultButton1 | 10.
在Form1.vb中添加Button1组件的Click事件,并在Button1组件的Click事件的代码区添加下列代码:
Dim iResult As Integer = MsgBox ( textBox1.Text , MsgIcon + MsgButton
+ DefaultButton , textBox2.Text ) '显示定制的信息对话框 Select Case iResult Case
1 TextBox3.Text = "选择""确定""按钮" Case 2 TextBox3.Text = "选择""取消""按钮" Case
3 TextBox3.Text = "选择""终止""按钮" Case 4 TextBox3.Text = "选择""重试""按钮" Case
5 TextBox3.Text = "选择""忽略""按钮" Case 6 TextBox3.Text = "选择""是""按钮" Case
7 TextBox3.Text = "选择""否""按钮" End Select '处理返回值 | 11.
在Form1.vb的Button1组件的Click事件的代码区之后,添加下面代码,下面代码是定义委托过程Icon_Clic,用以集中处理RadioButton1至RadioButton4组件的Click事件,为制作的信息对话框设定显示的图标:
Public Sub Icon_Click (
ByVal sender As Object , ByVal e As System.EventArgs ) Select Case sender.Name Case
"RadioButton1" MsgIcon = MsgBoxStyle.Critical '选择提示框图标为"警告" Case
"RadioButton2" MsgIcon = MsgBoxStyle.Exclamation '选择提示框图标为"惊叹号" Case
"RadioButton3" MsgIcon = MsgBoxStyle.Information '选择提示框图标为信息提示图标" Case
"RadioButton4" MsgIcon = MsgBoxStyle.Question '选择提示框图标为"问号" End
Select End Sub | 12. 在Form1.vb的Icon_Click委托过程之后,添加下面代码,下面代码是定义委托过程Button_Click,用以集中处理RadioButton5至RadioButton10组件的Click事件,为制作的信息对话框设定按钮的数目和类型:
Public Sub Button_Click
( ByVal sender As Object , ByVal e As System.EventArgs ) Select Case sender.Name Case
"RadioButton5" MsgButton = MsgBoxStyle.AbortRetryIgnore '设定信息对话框中的按钮数目为三个:退出、重试和忽略 Case
"RadioButton6" MsgButton = MsgBoxStyle.YesNoCancel '设定信息对话框中的按钮数目为三个:是、否和取消 Case
"RadioButton7" MsgButton = MsgBoxStyle.YesNo '设定信息对话框中的按钮数目为二个:是、否 Case
"RadioButton8" MsgButton = MsgBoxStyle.RetryCancel '设定信息对话框中的按钮数目为二个:重试、取消 Case
"RadioButton9" MsgButton = MsgBoxStyle.OKCancel '设定信息对话框中的按钮数目为二个:确认、取消 Case
"RadioButton10" MsgButton = MsgBoxStyle.OKOnly '设定信息对话框中的按钮数目为一个:确认 End
Select End Sub | 13. 在Form1.vb的Button_Click委托过程之后,添加下面代码,下面代码是定义委托过程Default_Click,用以集中处理RadioButton12至RadioButton14组件的Click事件,为制作的信息对话框中设置那个是缺省的焦点按钮:
Public Sub Default_Click
( ByVal sender As Object , ByVal e As System.EventArgs ) Select Case sender.Name Case
"RadioButton14" DefaultButton = MsgBoxStyle.DefaultButton1 '信息对话框中的第一个按钮为缺省焦点按钮 Case
"RadioButton13" DefaultButton = MsgBoxStyle.DefaultButton2 '信息对话框中的第二个按钮为缺省焦点按钮 Case
"RadioButton12" DefaultButton = MsgBoxStyle.DefaultButton3 '信息对话框中的第三个按钮为缺省焦点按钮 End
Select End Sub | 至此,在上述步骤都正确完成,并保存后,【利用MsgBox函数制作提示框】项目的全部工作就完成了。图02就是【利用MsgBox函数制作提示框】编译后的运行界面。
|
|