1、 第第6章章 对话框的设计对话框的设计第第6章章 对话框的设计对话框的设计 6.1 知识要点知识要点 6.2 习题与解答习题与解答 6.3 实训指导实训指导 6.4 测验题测验题6.1知识要点知识要点1、预定义对话框、预定义对话框 预定义对话框是系统已经设计好预定义对话框是系统已经设计好的对话框,它们可以通过程序执行具的对话框,它们可以通过程序执行具体的函数来被显示。在体的函数来被显示。在Visual Basic 6.0中,预定义对话框包含输中,预定义对话框包含输入对话框和消息框。入对话框和消息框。(1)输入对话框)输入对话框 创建输入对话框的标准函数是创建输入对话框的标准函数是InputBo
2、x函数,该函数显示一个接函数,该函数显示一个接收用户输入的对话框,对话框中显示收用户输入的对话框,对话框中显示提示文本,等待用户输入或按下按钮,提示文本,等待用户输入或按下按钮,并返回文本框的内容。并返回文本框的内容。InputBox函数的语法格式为:函数的语法格式为:InputBox(prompt,title,default,xpos,ypos,helpfile,context)其中:其中:Prompt为必需的字符串表达式参数,提为必需的字符串表达式参数,提供显示在对话框中的提示文本。供显示在对话框中的提示文本。Title为可选字符串表达式参数,提供标题为可选字符串表达式参数,提供标题显示在
3、对话框的标题栏中。显示在对话框的标题栏中。Default为可选字符串表达式参数,提供为可选字符串表达式参数,提供输入框的缺省输入文本。输入框的缺省输入文本。Xpos和和Ypos都是可选的数值表达式,成都是可选的数值表达式,成对出现,指出对话框左上角的屏幕坐标。对出现,指出对话框左上角的屏幕坐标。InputBox函数返回文本框中输入的内容,函数返回文本框中输入的内容,为字符串类型。为字符串类型。(2)消息框)消息框 创建消息框的标准函数是创建消息框的标准函数是MsgBox函数,该函数在对话框中显示消息,函数,该函数在对话框中显示消息,等待用户按下按钮,并返回一个整数等待用户按下按钮,并返回一个整
4、数来表示用户按下了哪一个按钮。来表示用户按下了哪一个按钮。MsgBox函数的语法格式为:函数的语法格式为:MsgtBox(prompt,buttons,title,helpfile,context)其中:其中:Prompt是必要的字符串表达式参数,是必要的字符串表达式参数,作为显示在对话框中的消息作为显示在对话框中的消息。Buttons是可选参数,该数值表达是可选参数,该数值表达式是分别代表显示按钮形式、使用图式是分别代表显示按钮形式、使用图标样式、缺省按钮样式和对话框模式标样式、缺省按钮样式和对话框模式的四个数值的和。的四个数值的和。Title是可选参数。该字符串表达式是可选参数。该字符串表
5、达式作为标题显示在消息框的标题栏中。作为标题显示在消息框的标题栏中。MsgBox函数返回值为函数返回值为16之间的之间的一个整数,表示用户按下了一个整数,表示用户按下了“确定确定”、“取消取消”、“终止终止”、“重试重试”、“忽略忽略”或或“是是”按钮。按钮。2、通用对话框、通用对话框(1)通用对话框的使用)通用对话框的使用 把把“通用对话框(通用对话框(Common Dialog)”控件添加到工具箱中的控件添加到工具箱中的方法为:方法为:从从“工程工程”菜单中选菜单中选“部件部件”命令,命令,或用鼠标右键单击工具箱,选其中或用鼠标右键单击工具箱,选其中“部件部件”命令,弹出命令,弹出“部件部
6、件”对话框对话框。在在“部件部件”对话框的对话框的“控件控件”选项选项卡中,查找卡中,查找“Microsoft Common Dialog Control 6.0”并将其选中,然后单击并将其选中,然后单击“确定确定”按钮。按钮。“通用对话框通用对话框”提供的六种对话框可提供的六种对话框可以通过设置它的以通过设置它的Action属性或调用属性或调用对应的六种方法来打开。通用对话框对应的六种方法来打开。通用对话框的属性、方法和含义见表的属性、方法和含义见表6-1。表表6-1 通用对话框的属性、方法和作用通用对话框的属性、方法和作用 Action属性值属性值方方 法法所显示的对话框所显示的对话框1S
7、howOpen“打开打开”对话框对话框2ShowSave“保存保存”对话框对话框3ShowColor“颜色颜色”对话框对话框4ShowFont“字体字体”对话框对话框5ShowPrinter“打印打印”对话框对话框6ShowHelpWindows帮助引擎帮助引擎(2)“打开打开”对话框对话框“打开打开”对话框的功能是指定文件的驱动对话框的功能是指定文件的驱动器、目录、文件扩展名和文件名。使用器、目录、文件扩展名和文件名。使用“打开打开”对话框时,通常首先对其进行属对话框时,通常首先对其进行属性设置,各属性含义和设置方法如下:性设置,各属性含义和设置方法如下:对话框标题(对话框标题(Dialog
8、Title属性):设置属性):设置对话框的标题,缺省值为对话框的标题,缺省值为“打开打开”。文件名称(文件名称(FileName属性):设置属性):设置“打打开开”对话框中对话框中“文件名文件名”区中的初始文件区中的初始文件名,同时也能返回用户在对话框中选中的名,同时也能返回用户在对话框中选中的文件名。文件名。初始化路径(初始化路径(InitDir属性):设置初始属性):设置初始目录,同时也能返回用户选择的目录名。目录,同时也能返回用户选择的目录名。过滤器(过滤器(Filter属性):设置对话框中的属性):设置对话框中的文件列表中显示的文件类型。设置过滤器文件列表中显示的文件类型。设置过滤器属
9、性的格式为:属性的格式为:description1|filter1|description2|filter2 其中,其中,description是在是在“打开打开”对话框对话框中的文件类型列表框中显示的字符串。中的文件类型列表框中显示的字符串。标志(标志(Flags属性):用来修改每属性):用来修改每个具体对话框的默认操作。个具体对话框的默认操作。缺省扩展名(缺省扩展名(DefaultExt属性):属性):设置在对话框中的缺省扩展名设置在对话框中的缺省扩展名 文件最大长度(文件最大长度(MaxFileSize属属性):设置文件名的最大字节数。性):设置文件名的最大字节数。过滤器索引(过滤器索引
10、(FilterIndex属性):属性):用索引值来指定对话框使用哪一个过用索引值来指定对话框使用哪一个过滤器。滤器。取消引发错误(取消引发错误(CancelError属属性):决定当用户单击对话框上的性):决定当用户单击对话框上的“取消取消”按钮时,是否会显示一个报按钮时,是否会显示一个报错信息的消息框。错信息的消息框。注:注:CancelError属性的设置方法属性的设置方法对其他几种对话框也同样适用。对其他几种对话框也同样适用。(3)“保存保存”对话框对话框“保存保存”对话框也是在对话框也是在Windows应应用程序中经常用到的。用用程序中经常用到的。用ShowSave方法显示对话框,它同
11、方法显示对话框,它同样能指定文件的驱动器、目录、文件样能指定文件的驱动器、目录、文件扩展名和文件名,其使用方法和扩展名和文件名,其使用方法和“打打开开”对话框的使用方法基本相同。对话框的使用方法基本相同。(4)“颜色颜色”对话框对话框“颜色颜色”对话框用来在调色板中选择对话框用来在调色板中选择颜色,或者是创建并选择自定义的颜颜色,或者是创建并选择自定义的颜色。要使用色。要使用“颜色颜色”对话框,通常先对话框,通常先设置设置“通用对话框通用对话框”控件中与颜色对控件中与颜色对话相关的属性,然后使用话相关的属性,然后使用ShowColor方法显示对话框,使用方法显示对话框,使用Color属性获得所
12、选择的颜色。属性获得所选择的颜色。在在“通用对话框通用对话框”控件中和颜色相关的控件中和颜色相关的属性主要有属性主要有“颜色颜色”(Color)和)和“标志标志”(Flags)两个。)两个。“颜色颜色”(Color)属性用来设置用)属性用来设置用来设置来设置“颜色颜色”对话框的初始颜色,对话框的初始颜色,同时它也能返回用户在对话框中选择同时它也能返回用户在对话框中选择的颜色。的颜色。“标志标志”(Flags)属性用来决定)属性用来决定“颜色颜色”对话框的样式。对话框的样式。(5)“字体字体”对话框对话框“字体字体”对话框用来指定字体名称、对话框用来指定字体名称、大小、颜色和样式。要使用大小、颜
13、色和样式。要使用“字体字体”对话框,通常先设置对话框,通常先设置“通用对话框通用对话框”控件中与字体对话相关的属性,然后控件中与字体对话相关的属性,然后使用使用ShowFont方法来显示对话框。方法来显示对话框。“和字体相关的属性主要有和字体相关的属性主要有Color、FontBold、FontItalic、FontStrikethru、FontUnderline、FontName和和FontSize。在使用在使用ShowFont方法之前,一定要方法之前,一定要把把Flags属性设置为下述常数之一:属性设置为下述常数之一:cdlCFScreenFonts或或1:屏幕字:屏幕字体体 cdlCFP
14、rinterFonts或或2:打印机:打印机字体字体 cdlCFBoth或或3:既可以是屏幕字:既可以是屏幕字体又可以是打印机字体体又可以是打印机字体(6)“打印打印”对话框对话框“打印打印”对话框可以指定打印输出方对话框可以指定打印输出方式。可以指定被打印页的范围,打印式。可以指定被打印页的范围,打印质量,打印的份数等等。这个对话框质量,打印的份数等等。这个对话框还包含当前打印机的信息,并允许配还包含当前打印机的信息,并允许配置或重新安装缺省打印机。置或重新安装缺省打印机。“打印打印”对话框主要属性及其具体含义如下:对话框主要属性及其具体含义如下:复制(复制(Copies):决定打印的份数。
15、):决定打印的份数。标志(标志(Flags):如果把):如果把Flags设置为设置为0,设置,设置“打印打印”对话框中的对话框中的“打印范打印范围围”。起始页(起始页(FromPage)和终止页)和终止页(ToPage):用来设置从第几页打印到):用来设置从第几页打印到第几页。第几页。最小(最小(Min)和最大()和最大(Max):分别用):分别用于设置打印的最小和最大页码数。于设置打印的最小和最大页码数。方向(方向(Orientation):用来设定打印):用来设定打印的方向(的方向(1表示纵向,表示纵向,2表示横向)。表示横向)。(7)“帮助帮助”对话框对话框“帮助帮助”对话框可以用来制作
16、应用程对话框可以用来制作应用程序的联机帮助。序的联机帮助。“帮助帮助”对话框主要对话框主要属性主要有:属性主要有:帮助上下文(帮助上下文(HelpContext):):返回或设置帮助文件中的主题的上下返回或设置帮助文件中的主题的上下文文ID,指定要显示的帮助主题。,指定要显示的帮助主题。帮助命令(帮助命令(HelpCommand):):返回或设置联机帮助的类型。返回或设置联机帮助的类型。帮助键(帮助键(HelpKey):返回或设置):返回或设置帮助主题的关键字。帮助主题的关键字。帮助文件(帮助文件(HelpFile):返回或设):返回或设置帮助文件的路径及其文件名称。置帮助文件的路径及其文件名
17、称。3、自定义对话框、自定义对话框 自定义对话框实际是一个用户自行设计的,自定义对话框实际是一个用户自行设计的,用来完成用户和系统对话的窗体。用来完成用户和系统对话的窗体。创建自定义对话框首先要创建一个窗体,创建自定义对话框首先要创建一个窗体,然后在窗体上添加必要的控件,完成对话然后在窗体上添加必要的控件,完成对话框的各种功能。对话框的框的各种功能。对话框的BorderStyle属性通常设置为属性通常设置为3FixedDialog。显示对话框使用显示对话框使用Show方法。对话框分成方法。对话框分成两种类型,即模式的和无模式的。两种类型,即模式的和无模式的。模式对话框是在继续操作应用程序的其他
18、部模式对话框是在继续操作应用程序的其他部分之前必须被关闭的。而无模式对话框允许分之前必须被关闭的。而无模式对话框允许在对话框与其他窗体之间转移焦点而不必关在对话框与其他窗体之间转移焦点而不必关闭对话框。闭对话框。Show方法的两个可选参数分别是方法的两个可选参数分别是style和和ownerform。如果要显示的对话框是模式。如果要显示的对话框是模式的,则的,则Style取值为取值为1或或vbModoal;如果;如果要显示的对话框是无模式的,则要显示的对话框是无模式的,则Style取值取值为为0或或vbModoaless。Ownerform参数参数决定该对话框是作为哪一个窗体的子窗体的。决定该
19、对话框是作为哪一个窗体的子窗体的。第第6章章 对话框的设计对话框的设计 6.1 知识要点知识要点 6.2 习题与解答习题与解答 6.3 实训指导实训指导 6.4 测验题测验题6.2习题与解答习题与解答 1、简述用、简述用Visual Basic创建对话创建对话框的几种方式。框的几种方式。答案:答案:用用Visual Basic创建对话框有创建对话框有使用函数调用预定义对话框使用使用函数调用预定义对话框使用通用对话框自定义对话框三种常用通用对话框自定义对话框三种常用方法。方法。2、试写出生成以下三个对话框所对、试写出生成以下三个对话框所对应的代码。应的代码。图图6-2图图6-1图图6-3答案:(
20、答案:(1)a=MsgBox(程序出程序出现严重错误!现严重错误!,vbInformation+_vbAbortRetryIgnore,警告警告)或或a=MsgBox(程序出现严重错误!程序出现严重错误!,66,警告警告)(2)b=MsgBox(你好,欢迎使你好,欢迎使用用Visual Basic!&Chr(13)&Chr(10)&_想要退出吗?想要退出吗?,vbQuestion+vbYesNoCancel+vbDefaultButton2,提示提示)或或b=MsgBox(你好,欢迎使用你好,欢迎使用Visual Basic!&Chr(13)&Chr(10)&_想要退出吗?想要退出吗?,291
21、,提示提示)(3)c=InputBox(请输入你所请输入你所在城市的电话区号号码:在城市的电话区号号码:,输入输入,0419)3、简述、简述“通用对话框通用对话框”控件的使用控件的使用方法,使用方法,使用“通用对话框通用对话框”控件可以控件可以显示哪些对话框,它们分别通过什么显示哪些对话框,它们分别通过什么方法来实现。方法来实现。答案:要使用答案:要使用“通用对话框通用对话框(Common Dialog)”,必须先,必须先把该控件添加到工具箱中。具体方法把该控件添加到工具箱中。具体方法为:从为:从“工程工程”菜单中选菜单中选“部件部件”命令;在命令;在“部件部件”对话框的对话框的“控件控件”选
22、项卡中,查找选项卡中,查找“Microsoft Common Dialog Control 6.0”并将其选中,然后单击并将其选中,然后单击“确定确定”按钮。按钮。然后就可以象使用其他控件一样式样然后就可以象使用其他控件一样式样该控件了。该控件了。使用使用“通用对话框通用对话框”控件可以显示控件可以显示“打开打开”对话框、对话框、“保存保存”对话框、对话框、“颜色颜色”对话框、对话框、“字体字体”对话框、对话框、“打印打印”对话框和对话框和Windows帮助引帮助引擎对话框。它们分别通过擎对话框。它们分别通过ShowOpen、ShowSave、ShowColor、ShowFont、ShowPr
23、inter 和和ShowHelp方法方法来实现。来实现。4、模式对话框和无模式对话框的区、模式对话框和无模式对话框的区别是什么?别是什么?答案:模式对话框是在继续操作应用答案:模式对话框是在继续操作应用程序的其他部分之前必须被关闭的。程序的其他部分之前必须被关闭的。而无模式对话框允许在对话框与其他而无模式对话框允许在对话框与其他窗体之间转移焦点而不必关闭对话框。窗体之间转移焦点而不必关闭对话框。当对话框正在工作时,可以在当前应当对话框正在工作时,可以在当前应用程序的其他地方继续工作。用程序的其他地方继续工作。5、为什么要使用自定义对话框?、为什么要使用自定义对话框?答案:自定义对话框与使用函数
24、或通过答案:自定义对话框与使用函数或通过“通用对话框通用对话框”控件创建的对话框相控件创建的对话框相比,内容和功能都可以有更多的发挥比,内容和功能都可以有更多的发挥余地。使用函数创建的对话框一般都余地。使用函数创建的对话框一般都很简单且功能单一,通常只是用来做很简单且功能单一,通常只是用来做简单的输入和提示。简单的输入和提示。Continue 通过通过“通用对话框通用对话框”控件只能创建的控件只能创建的标准的对话框。而自定义对话框则相标准的对话框。而自定义对话框则相对灵活且功能强大,通常会满足用户对灵活且功能强大,通常会满足用户为应用程序的继续运行而提供数据的为应用程序的继续运行而提供数据的需
25、要。需要。第第6章章 对话框的设计对话框的设计 6.1 知识要点知识要点 6.2 习题与解答习题与解答 6.3 实训指导实训指导 6.4 测验题测验题6.3实训指导实训指导6.3.1技能训练目的技能训练目的 掌握掌握InputBox函数的使用方法函数的使用方法 掌握掌握MsgBox函数的使用方法函数的使用方法 掌握掌握“通用对话框通用对话框”的使用方法的使用方法 掌握掌握“自定义对话框自定义对话框”的创建和的创建和使用方法使用方法 6.3.2技能训练内容技能训练内容【实训实训6.1】设计程序,窗体见设计程序,窗体见 图图6-4。单击。单击“输入输入”按钮,则通过按钮,则通过输入对话框分别输入十
26、个整数并显示输入对话框分别输入十个整数并显示在在“输入数据输入数据”后面的文本框中。单后面的文本框中。单击击“排序排序”按钮,十个整数从小到大按钮,十个整数从小到大排序后显示在排序后显示在“排序后排序后”后面的文本后面的文本框中。单击框中。单击“清除清除”按钮,两个文本按钮,两个文本框全部清控。单击框全部清控。单击“退出退出”,程序结,程序结束。束。图图6-4提示:提示:在窗体上添加两个标签控件在窗体上添加两个标签控件(Label1和和Label2),),它们的它们的Caption属性分别是属性分别是“输入数据:输入数据:”和和“排序后:排序后:”;再添加;再添加两个标签控件两个标签控件(La
27、bel3和和Label4),),它它们的们的Caption属性均为空,属性均为空,BorderStyle属性均设为属性均设为1;添加四个命;添加四个命令按钮(令按钮(Command1、Command2、Command3和和Command4),它们),它们的的Caption属性分别为属性分别为“输入输入”、“排排序序”、“清除清除”和和“退出退出”。参考代码:参考代码:Option Explicit Dim a(9)As Integer Private Sub Command1_Click()Dim i As Integer,s As String For i=0 To 9 s=InputBox
28、(请输入一个整数请输入一个整数,输入输入)a(i)=Val(s)Label3.Caption=Label3.Caption+s Next i End Sub Private Sub Command2_Click()Dim i As Integer,j As Integer,t As Integer For i=0 To 8 For j=i+1 To 9 If a(j)=1 And Val(s)=100 ansinf=MsgBox(输入数据不合法,请核对后重输入数据不合法,请核对后重新输入!新输入!,49,错误提示错误提示)If ansinf=vbOK Then s=InputBox(请输入一个
29、整数请输入一个整数,输入输入)Else End End If Loop a(i)=Val(s)Label3.Caption=Label3.Caption+s Next iEnd Sub【实训实训6.3】设计一个验证密码的程设计一个验证密码的程序(如图序(如图6-6所示)。假定密码为所示)。假定密码为“abc”,用户输入是否正确请用消,用户输入是否正确请用消息框来给予提示(如图息框来给予提示(如图6-7所示)。所示)。如果密码输入错误,提示是否重新输如果密码输入错误,提示是否重新输入(如图入(如图6-8所示),但只能最多进所示),但只能最多进行三次重新输入,一旦密码输入次数行三次重新输入,一旦密
30、码输入次数超过三次,程序给出警告提示(如图超过三次,程序给出警告提示(如图6-9所示),并结束。所示),并结束。图图6-6图图6-7图图6-8图图6-9参考代码:参考代码:Option ExplicitPrivate Sub Command1_Click()Dim ansinf As Integer Static i As Integer If Text1.Text=abc Then Form1.Hide ansinf=MsgBox(密码正确,欢迎进入本程序!密码正确,欢迎进入本程序!,64,密码正确密码正确)Else ansinf=MsgBox(密码错误,是否重新输入?密码错误,是否重新输入
31、?,36,错误提示错误提示)End If If ansinf=6 Then Text1.Text=Text1.SetFocus ElseIf ansinf=7 Then End End Ifi=i+1 If i=3 Then ansinf=MsgBox(你是非法用户,程序即将退出!,16,严重错误)End End IfEnd SubPrivate Sub Command2_Click()Text1.Text=End SubPrivate Sub Command3_Click()EndEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If
32、 KeyAscii=13 Then Call Command1_Click End IfEnd Sub【实训实训6.4】设计程序。实现简单文本编辑设计程序。实现简单文本编辑器具有的器具有的“打开打开”、“保存保存”、“颜色设颜色设置置”、“字体设置字体设置”和和“打印打印”等功能。等功能。窗体如图窗体如图6-10所示。所示。提示:窗体设计如图所示,其中包含一个提示:窗体设计如图所示,其中包含一个通用对话框(通用对话框(CommonDialog1),一),一个文本框(个文本框(Text1)和六个命令按钮)和六个命令按钮(Command1 Command6)。)。由于本实训内容与教材由于本实训内容
33、与教材6.2节例题相似,节例题相似,此处仅提供此处仅提供“打开打开”功能的实现代码。功能的实现代码。图图6-10参考代码:参考代码:Private Sub Form_Load()CommonDialog1.CancelError=False End Sub Private Sub Command1_Click()CommonDialog1.ShowOpen Text1.Text=Open CommonDialog1.FileName For Input As#1 Do While Not EOF(1)Line Input#1,inputdata Text1.Text=Text1.Text+in
34、putdata+Chr(13)+Chr(10)Loop Close#1 End Sub第第6章章 对话框的设计对话框的设计 6.1 知识要点知识要点 6.2 习题与解答习题与解答 6.3 实训指导实训指导 6.4 测验题测验题6.4测验题测验题6.4.1选择题选择题 1Commondialog1为窗体上一通用为窗体上一通用对话框,与对话框,与Commondialog1.Action=3作用相同作用相同的语句是的语句是 。ACommondialog1.ShowColor BCommondialog1.ShowOpen CCommondialog1.ShowSave DCommondialog1.
35、ShowPrinter答案:答案:A2执行下列语句执行下列语句 a$=inputbox(“请输入一个整数请输入一个整数”,”输入整数输入整数”,”123”)单击确定按钮后,单击确定按钮后,a$的值为的值为 。A字符串字符串“输入整数输入整数”B整数整数123 C空字符串空字符串 D字符串字符串“123”答案:答案:D 3通过通用对话框能打开通过通用对话框能打开“字体对话框字体对话框”的方的方法是法是 。ACommondialog1.ShowColor BCommondialog1.ShowFont CCommondialog1.ShowSave DCommondialog1.ShowOpen答
36、案:答案:B 4下列代码中错误的是下列代码中错误的是 。Aa=MsgBox()BMsgBox 信息提示信息提示,vbInformation+vbOKCancelCa=MsgBox 信息提示信息提示,vbInformation+vbOKCancelDMsgBox“答案:答案:C 5下列为下列为“打开打开”对话框设置过滤器属对话框设置过滤器属性的语句中正确的是性的语句中正确的是 。ACommonDialog1.Filter=所有文所有文件件|(*.*)|文本文件文本文件|(*.txt)BCommonDialog1.Filter=所有文所有文件件|(*.*)|文本文件文本文件|(*.txt)CCom
37、monDialog1.Filter=所有文所有文件件|*.*|文本文件文本文件|*.txtDCommonDialog1.Filter=所有文所有文件件|*.*|文本文件文本文件|*.txt“答案:答案:C6.4.2填空题填空题1在窗体上有一命令按钮在窗体上有一命令按钮Button1,其单击事件,其单击事件代码如下:代码如下:Private Sub Command1_Click()Do While z 8 x=InputBox(x=)x=Val(x)y=InputBox(y=)y=Val(y)z=InputBox(z=)z=Val(z)x=x+y+z Loop Print xEnd Sub程序运
38、行后,若依次输入程序运行后,若依次输入1,2,3,6,7,8后,输出的后,输出的结果是结果是 (1)。答案:答案:21 2在使用在使用ShowFont方法之前,方法之前,一定要先设置一定要先设置 (2)属性。属性。答案:答案:flags属性属性 3在用在用Show方法显示自定义对话方法显示自定义对话框时,分别用框时,分别用Show方法后带方法后带 (3)和和 (4)参数来指定窗体为模式对参数来指定窗体为模式对话框或非模式对话框。话框或非模式对话框。答案:(答案:(3)VbModal或或1 (4)VbModaless或或06.4.3编程题编程题 编写加法练习测试程序。窗体如图编写加法练习测试程序
39、。窗体如图6-11所示,程序运行自动产生两个所示,程序运行自动产生两个100以内以内的随机整数分别填入两个标签中,单击的随机整数分别填入两个标签中,单击“计算计算”按钮,出现如图按钮,出现如图6-12所示的对所示的对话框,在对话框中输入运算结果。确认输话框,在对话框中输入运算结果。确认输入数据后,相继有提示计算正确或错误,入数据后,相继有提示计算正确或错误,“是否继续计算?是否继续计算?”的对话框出现,分别的对话框出现,分别如图如图6-13、6-14和和6-15,如果选择继,如果选择继续,程序继续随机出题,选择续,程序继续随机出题,选择“否否”,则,则程序给出你答题情况统计并给出相应的分程序给
40、出你答题情况统计并给出相应的分数,如图数,如图6-16。图图6-11图图6-12图图6-13图图6-14图图6-15图图6-16参考答案参考答案Option ExplicitDim cornum As Integer,totnum As IntegerPrivate Sub Command1_Click()Dim ok As Integer,result As String,mark As Integer totnum=totnum+1 result=InputBox(计算:+Label1.Caption+Label3.Caption,写出正确答案)If Val(result)=Val(Lab
41、el1.Caption)+Val(Label3.Caption)Then Label5.Caption=result ok=MsgBox(你算对了,继续努力!,vbOKOnly,答案正确)cornum=cornum+1 Else ok=MsgBox(很遗憾,你做错了!?,vbOKOnly,答案错误)End If ok=MsgBox(还继续吗?,vbYesNo,询问)If ok=6 Then RandomizeLabel1.Caption=Round(Rnd*100)Label3.Caption=Round(Rnd*100)Label5.Caption=Else mark=Round(cornum/totnum*100)ok=MsgBox(你共计算了&totnum&道题,其中做对了&cornum&道。&Chr(13)&Chr(10)&分数为:&mark,统计分数)End IfEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()Randomize Label1.Caption=Round(Rnd*100)Label3.Caption=Round(Rnd*100)cornum=0 totnum=0End SubOVER