详解VB对话框InputBox和MsgBox
“ 大家好,从本节课程开始,我们一起来学习VB中各种对话框的使用。”
本节课程呢,我们一起来学习InputBox和MsgBox对话框。这两个对话框在VB中非常的重要,使用频次很高,熟练的掌握它们,可以为编程带来更高的效率。
01
—
输入对话框InputBox
InputBox 函数
作用
在一对话框来中显示提示,等待用户输入正文或按下按钮,并返回包含文本框内容的 String。
语法
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
参数中,我们一般只需要使用前面三个Prompt、Title、Default。
Prompt 表示对话框中的提示文本,用来提示用户需要输入什么。
Title 是对话框的标题
Default 是对话框中的默认值。
举例1:
InputBox "输入你的年龄", "年龄", "23"
运行效果如下:
以上例子,虽然正确的使用了InputBox,但是并没有接收用户输入的数据。因此实际上这样的用法通常是没有意义的。
举例2:
Private Sub Command1_Click() Dim age age = InputBox("输入你的年龄", "年龄", "23") Print "用户年龄是:" & age
End Sub
运行效果如下:
这个例子中,我用了一个变量age来接收InputBox函数的返回值,获得了用户输入的数据。
细心的读者可能会发现,例1和例2中,InputBox函数的用法有一点区别。例子中InputBox中的参数,并没有用括号,而例2中却使用了括号。其实,这是因为例1中没有使用变量接收InputBox函数的返回值,所以不需要使用括号,这一点我们在函数Function课程中已经讲过了。相反例2使用了变量接收函数返回值,因此需要括号将参数给括起来。
另一点,需要注意的是,InputBox函数的返回值的数据类型是String字符串类型。因此,如果需要使用其进行计算,则一定要记得用val来转换数据类型为数值型。
如果用户单击了“取消”按钮,则会返回一个长度为0的空字符串""。
InputBox举例
错误案例:
Private Sub Command1_Click() Dim sum, val1, val2 val1 = InputBox("输入第一个数", "求和", "0") val2 = InputBox("输入第二个数", "求和", "0") sum = val1 + val2 Print val1 & "+" & val2 & "=" & sum
End Sub
运行程序,分别输入1和2,发现输出的结果是12,如下图所示:
这个例子中,1+2=12,很明显是不正确的,其错误的原因就是数据类型不正确。
正确案例:
Private Sub Command1_Click() Dim sum, val1, val2 val1 = InputBox("输入第一个数", "求和", "0") val2 = InputBox("输入第二个数", "求和", "0") sum = Val(val1) + Val(val2) Print val1 & "+" & val2 & "=" & sum
End Sub
运行程序,分别输入1和2,结果如下图所示:
这里我们利用val转换函数,将字符串类型的数据转换为数值型数据,然后再进行求和,就可以得到正确的结果了。
02
—
消息对话框Msgbox
Msgbox函数
作用:
在对话框中显示消息,等待用户单击按钮,并返回一个 Integer告诉用户单击哪一个按钮。
语法:
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
消息对话框MsgBox,可以弹出一个消息框,用于提示用户,并等待用户做出选择。
消息对话框中的前三个参数是需要掌握的,后面两个参数可以不做了解。
Prompt 参数是在对话框中显示的消息,用于提示用户,是必要参数。
Title 参数是对话框的标题,非必要参数,不设置该参数的话,则会默认将工程名用作于标题。
Buttons 参数是可选项,用于指定对话框的形式
为了方便大家理解Buttons各个选项的对话框形式,我把这些参数及对应的效果做了一张表格,如下所示:
Buttons参数还可以叠加使用
例如,我们可以将vbOKCancel和vbExclamation叠加起来,于是可以实现具有确定和取消按钮,同时有警示图标。
代码:
MsgBox "这是一个例子", vbOKCancel + vbExclamation
运行效果如下图:
如何判断用户点击了哪一个按钮?
Msgbox函数在用户点击了按钮之后,会返回一个整数,用于指明用户单击的按钮类型。
MsgBox举例
Private Sub Command1_Click() Dim a% a = MsgBox("这是一个例子", vbOKCancel + vbExclamation) If a = vbOK Then Print "用户单击了确定按钮" ElseIf a = vbCancel Then Print "用户单击了取消按钮" End If
End Sub
运行程序,弹出消息对话框
获取用户选择的按钮,并打印出来
以上就是InputBox和MsgBox对话框的详细介绍。接下来我们做一个实战练习。
03
—
实战练习
要求:
设计一款猜数字游戏。点击开始游戏后,软件内随机一个1-100之内的整数,之后弹出一个InputBox输入框,由用户输入一个数,系统判断用户输入的整数是否与目标数一致,如果大了,则提示猜大了,如果小了则提示猜小了,直到猜对了为止。
分析:
这道题目的难度并不大,利用本文学习的InputBox和Msgbox来与用户进行交互,并利用do循环来重复执行这一个过程,直到用户猜对。
提示:由于至少需要执行一次,所以要使用do…Loop循环。
界面设计:
如下图所示,只需要一个窗体和一个命令按钮即可。
代码设计:
Private Sub Command1_Click() Dim targetNum% '目标数字 Dim userNum '用户猜的数字 Dim guessNums% '猜的次数 Randomize targetNum = Int(100 * Rnd) + 1 Do userNum = InputBox("请从1-100之间猜一个数字", "猜数字", "50")'如果用户单击了取消按钮,则退出游戏 If userNum = "" Then End End If guessNums = guessNums + 1 If Val(userNum) > targetNum Then MsgBox "猜大了", vbInformation, "提示" ElseIf Val(userNum) < targetNum Then MsgBox "猜小了", vbInformation, "提示" ElseIf Val(userNum) = targetNum Then MsgBox "猜对了,共用了" & guessNums & "次", vbInformation, "提示" End If Loop Until (targetNum = Val(userNum))
End Sub
测试程序:
点击开始游戏按钮后,弹出输入对话框。
用户每输入一个数字后,就会给出提示。
直到猜对之后,给出正确提示并。
好了,本节课程关于InputBox和MsgBox对话框的详细教程就学习结束啦。我们下节课再见吧。
本文中猜数字游戏的源码下载地址:
https://download.csdn.net/download/weixin_39433293/12457256
一个人创作不易,望大家多多支持
详解VB对话框InputBox和MsgBox相关推荐
- 【C#控件详解】对话框类控件(打开文件,保存文件,选择字体和颜色)
在实际应用中,我们会用到各种各样的对话框,如打开文件,保存文件,选择字体和颜色等等.本文详细讲解C#中的颜色对话框.打开文件对话框.字体对话框.浏览文件夹对话框和保存文件对话框. 文章目录 1. Co ...
- 详解VB中连接access数据库的几种方法
在VB中,连接ACCESS数据库的方法主要有下面三种 使用ADO对象,通过编写代码访问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件快速创建数据库连接 有三种连接方法 ...
- [vb]一些窗口消息的详解
代码: Public Const WM_NULL = &H0 '空消息 Public Const WM_NCCREATE = &H81 '当窗口第一次被创建时,此消息在WM_CREAT ...
- AlertDialog使用详解
AlertDialog使用详解 普通的对话框 final Builder builder = new AlertDialog.Builder(this); btn.setOnClickListener ...
- c语言菜单选择如何用字符形式,【创客天地】计算机二级C语言、VB考试详解分析...
原标题:[创客天地]计算机二级C语言.VB考试详解分析 01 马上就要迎来计算机二级考试了,你准备好了吗?今天助手君准备了一点C语言干货,希望对即将考试的你有所帮助.(上期刚刚推了office,有需要 ...
- 详解Linux交互式shell脚本中创建对话框实例教程
详解Linux交互式shell脚本中创建对话框实例教程 本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一 ...
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- [转]VB中资源文件.res的使用方法详解
在几乎所有的Windows应用程序中都拥有资源文件,这些文件定义使用应用程序将要显示很多的用户界面元素,以及提供程序所需要的各种类型数据的存储场所.资源文件在VC应用程序中应用十分广泛,在VB应用中却 ...
- 【转】用VB操作Excel详解
用VB操作Excel详解 一. VB读写EXCEL表: VB本身提自动化功能可以读写EXCEL表,其方法如下: 1.在工程中引用MicrosoftExcel 类型库: 从"工程"菜 ...
- 第五节、AHK对话框详解
对话框 1.MsgBox, Text 2.MsgBox [, Options, Title, Text, Timeout] 第一种:创建一个标题是AHK文件名,显示内容是Text ,包含一个确定按钮的 ...
最新文章
- c#中文件的写入与读取
- android 轮播 getWith,NavigationTermSet.GetWithNewView 方法
- JavaScript是如何工作的:JavaScript的共享传递和按值传递
- 【数字信号处理】基本序列傅里叶变换总结 ( 单位脉冲序列 δ(n) | {1} 序列 | e^jωn 序列 | cosωn 序列 | sinωn 序列 | a^nu(n) | 矩形窗函数 ) ★★★
- 网站使用手机相机_相机拍完照片,如何传到手机上?详细步骤教你使用
- IRC 聊天工具(xchat,chatzilla,pidgin)入门教程
- centos6.9升级openssl版本
- 2020重学Go系列:反引号的妙用—结构体里的 Tag 标签
- 形式验证进阶 chipdriver_【饥荒进阶】烹饪基础:全食材系数详解-五耀整理
- android 排队系统设计,基于android银行排队叫号系统毕业设计论文+设计源码+答辩PPT...
- CMAKE Opencv配置
- Oracle怎样导出应收开票,【Oracle|Oracle财务系统应收账款模块操作手册】
- 【unity记录】导入标准资源包(Standard Assets)
- PID系统稳定性与零极点的关系
- phalapi-入门篇6(小技巧和浅谈API适用范围以及入门篇总结)
- android studio连接本地SqlServer数据库报网络错误
- 关系代数题目小汇总——数据库
- Google Earth Engine APP(GEE)——用一个选择器选择不同城市的应用
- oppo怎么广告接入_OPPO广告分模块投放的正确打开方式
- DNS(域名系统)介绍,深入解析DNS解析失败发生的原因及解决方法
热门文章
- 1.Spring注解01、组件注册-@Configuration@Bean给容器中注册组件
- 需要获取trustedinstaller权限才能删除文件,删不了
- js进行txt文件下载方式或oss文件访问下载跨域解决
- 无线承载根据承载的内容不同分为SRB和DRB EPS承载根据用户业务需求和Qos的不同可以分为GBR/ Non-GBR 承载...
- 重装系统后如何恢复mysql服务
- 电脑声音有回音 怎么弄回去啊 5
- 1、微信公众平台注册
- 最新数据库驱动包下载(完整版)
- Failed to parse time specification
- 大话数据结构学习笔记(8)二叉树