Visual Basic第一章
visual basic简介
发展史
- 1991年微软推出1.0,之后几年退出2.0~5.0
- 1998年推出了6.0,加入了数据库管理,网络编程模块
- 2001年推出了跨版本升级.net
编程语言排行
版本分类
- 学习版(包含所有内部控件,网络,选项卡和数据绑定控件)
- 专业版(在学习版的基础上加入了activeX控件,ISS应用程序设计器,集成了可视化数据工具和数据环境,Active数据对象和DHTML页设计器)
- 企业版(在专业版的基础上加入了Back Office工具,例如SQL Server****、Microsoft Transaction Server、IIS、Visual SourceSafe等。)
语言特点
- 可视化编程(类似于scratch模块拖动编程)
- 事件驱动机制(不同组件有相对应的事件触发机制)
- 面向对象的程序设计语言(每个控件属性自我封装)
- 支持多数据库访问机制
如何学好vb
- 兴趣和坚持
- 实践出真知
- 恰当的提问
vb启动
- 通过开始菜单启动
- 快捷方式打开
vb退出
- 点击关闭按钮
- 点击文件---->退出
- 快捷键Alt+Q
工具介绍
- 工具栏
- 属性窗口
管理工程
- 新建保存工程
- 新建工程
- 保存工程
- 新建窗体
- 生成可执行文件
第一个应用程序的开发
开发步骤
-
创建应用程序界面
-
设置控件属性
-
编写代码
-
调试运行程序
工具模式
- 开发模式:修改控件,属性及代码
- 运行模式:只能看不能修改
- 中断模式:检查,调试,重置,单步执行或继续执行程序
vb工程组成
-
跟踪所有部件的工程文件(.vbp)
-
窗体文件(.frm)
-
窗体所对应的二进制文件(.frx)
Visual Basic第二章
类和对象
名词 | 解释 | 类比 |
---|---|---|
类 | 模板 | 电话机图纸 |
对象 | 根据模板生成的实际存在的个体 | 电话机 |
属性 | 个体的各项参数 | 重量,价格… |
方法 | 所能执行的功能 | 打电话,接电话 |
事件 | 触发的条件 | 电话铃响 |
属性值的修改
-
静态修改:通过程序窗口设置的方式进行修改
-
动态修改:使用代码的形式对控件的属性进行修改
Text1.text = "Hello world" '将Text1文本框中的内容修改为Hello World'
事件和方法
- 事件(触发条件):不同控件拥有不同的触发机制,例如按钮可以单机双击,文本框可以监听内容修改获取焦点等事件。
- 方法:事件出发后要执行的操作,例如单击按钮(事件)后文本框内容修改(方法)
窗体
-
组成
-
标题栏:标题内容,最小化,最大化,关闭按钮
-
窗体主体:自定义各种控件
-
-
窗体常见属性
属性名 说明 caption 修改窗体标题 name 窗体名称(编写代码查找窗体使用) MaxButton 最大化按钮 ControlBox 系统菜单栏 BackColor 背景颜色 BorderStyle 窗体边框样式 Height 窗体高度 -
窗体常用事件
事件 触发时机 Click 鼠标单击 DbClick 鼠标双击 Load 窗体打开后触发 Unload 窗体关闭时触发
控件与焦点
- 焦点:控件被选中的状态
- 获得焦点的方式
- 通过Tab键切换
- 通过鼠标选择
- 通过代码设置(控件名.setFocus)
控件的绘制
- 鼠标单击---->绘制控件(配合Ctrl可以实现重复绘制)
- 鼠标双击控件------>在窗体中间自动生成一个默认大小的控件,如果同时添加多个控件会出现控件重叠的情况。
控件大小调整
- 选择对应的控件,通过设置属性(height,weight)的方式该表大小
- 鼠标拖动周围小点的方式改变控件大小
控件位置调整
- 1.使用left,top属性设置控件位置
- 使用鼠标拖动改变控件位置
- Ctrl+方向键修改控件位置
布局调整
- 选中调整的控件,点击格式调整对齐方式。(配合Shift选中所有控件或通过鼠标框选)
- 格式中的对齐,统一格式,水平间距,垂直间距调整布局。
控件常用属性
属性名 | 说明 |
---|---|
caption | 标题/显示内容 |
name | 控件名称(编码时定位控件使用) |
enabled | 控件是否可用(置灰状态) |
visible | 控件是否可见(隐藏控件) |
font | 设置字体样式 |
height/width | 设置控件尺寸 |
top/left | 设置控件位置 |
forecolor | 设置前景色(窗体中小点的颜色,控件中文字颜色) |
backcolor | 设置背景颜色 |
标题栏—lable
-
常见属性
属性 说明 alignment 设置标题内容在控件中的位置
left 靠左
right 靠右
center 居中autosize 设置控件尺寸跟随文字内容自动调整 wordwrap 控件宽度固定,高度跟随文字变化子自动调整 ❤使用wordwrap前autosize属性值必须为true
文本框
-
常用属性
属性 说明 locked 锁定文本框内容(光标闪动,文本内容无法编辑) enabled 设置文本框是否可用 passwordchar 设置文本加密(输入字符为加密显示字符) multilint 设置文本内容最大32kb scrollbars 设置文本框滚动条 0:没有(默认值) 1:水平方向滚动条 2:垂直方向滚动条 3:水平垂直都有(只在一行显示,需要回车换行) ❤先将multiline设置为true,scrollbars属性才能生效。
-
常用事件
事件 说明 Change 文本框内容发生修改时触发 GotFocus 文本框获得焦点时触发 LostFocus 文本框失去焦点时触发 -
通过代码使文本框获得焦点
Text1.SetFocus
-
文本框常用方法
方法 说明 selStart 光标此刻所处的位置 selLength 选中字符的长度 selText 选中字符
按钮
-
常用属性
属性 说明 Caption 设置按钮显示内容 Default 值为True时,回车键控制按钮点击 Cancel 值为True时,Esc键控制按钮点击 -
设置按钮图标
- 将Style属性设置为1–Graphical
- 设置picture属性选择图片(默认\Common\Graphics\Icons目录下有系统提供的图标)
-
按钮增加动态提示
ToolTipText 设置提示内容 -
按钮常见事件
Click 鼠标单击
通用模块(重写sendkeys)
Public Sub Sendkeys(text$, Optional wait As Boolean = False)
Dim WshShell As Object
Set WshShell = CreateObject("wscript.shell")
WshShell.Sendkeys text, wait
Set WshShell = Nothing
End Sub
Visual Basic第三章
模块—vb程序中的容器
- 窗口模块:程序有不同多个窗体组成,每个窗体包含不同的控件及代码
- 标准模块:程序代码的共享,可以包含全局变量、常量及外部过程
- 类模块:创建对象的模板
过程
概念:具有特定功能的代码集合
分类 | 说明 |
---|---|
事件过程 | 触发某个事件执行的代码 |
通用过程 | 所有窗体和控件可共享的代码 |
代码窗口
代码窗口的使用
- 双击控件
- 工程资源管理器
- 选择控件鼠标右击
代码窗口的查看
-
过程查看(单模块查看)
-
全模块查看(所有控件及通用代码)
代码窗口的智能化编辑
- 自动语法检查
- 自动格式排版
- 语法提示
编码规则
- 不区分大小写
- 同一行可书写多条语句,使用:分割(不提倡)
- 每行最多1024个字符,续行符“_”
- 数字除了可以用默认的十进制表示外,还可以用其他进制: &H9A、 &O76
- 代码要有缩进
注释
概念:有利于程序的阅读,维护和调试,不影响代码运行,使用单引号
- 在代码尾部添加,有续行符的不可以
- 添加多行注释时可使用工具栏下的注释块功能
关键字
visual basic中保留的字母作为程序中固有含义的标识符,不能被重新定义。
标识符
-
定义:标识符是用户在编程时定义的名称,包括常量,变量,过程,函数和类等,在实际操作这些变量的时候我们需要给每个变量起一个名字以表示区分。这就像在日常生活中每一个人,每一个商店都会有一个名字一样。
-
命名规则:
- 由大小写英文,数字,下划线(_)组成,且以字母开头(可使用汉字,不推荐)
- 长度不能超过255
- 不能使用关键字,不能与当前模块中已有方法和属性名重复
- VB不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母
-
示例
-
Const PI = 3.141592653 #PI为常量标识符,代表圆周率 Dim Name as String #Name为变量标识符,表示姓名
-
数据类型
数据类型 | 关键字 | 类型符 | 前缀 | 占字节数 | 应用 |
---|---|---|---|---|---|
字节型 | Byte | 无 | byt | 1 | 存储二进制数据,范围较小,不能存放负数 |
逻辑型 | Boolean | 无 | bln | 2 | 只有 True 和 False 两种取值,用于逻辑判断 |
整型 | Integer | % | int | 2 | 保存整数,取值范围小,用于不带小数的数据 |
长整型 | Long | & | Ing | 4 | 取值范围大于整型,其余同上 |
单精度型 | Single | ! | sng | 4 | 保存浮点实数,运算可能会产生误差 |
双精度型 | Double | # | dbl | 8 | 取值范围大于单精度型,其余同上 |
货币型 | Currency | @ | cur | 8 | 保存定点实数,主要用于货币计算 |
日期型 | Date | 无 | dtm | 8 | 保存日期与时间数据 |
字符型 | String | $ | str | 可变 | 保存字符串数据,分为定长与变长两种 |
对象型 | Object | 无 | obj | 4 | 存储32位的地址数据,该地址可引用应用程序中的对象 |
变体型 | Variant | 无 | vnt | 可变 | 可以保存所有系统定义的数据类型,主要是用于未定义变量的默认数据类型,其数据类型的处理完全取决于上下文 |
-
| 无 | dtm | 8 | 保存日期与时间数据 |
| 字符型 | String | $ | str | 可变 | 保存字符串数据,分为定长与变长两种 |
| 对象型 | Object | 无 | obj | 4 | 存储32位的地址数据,该地址可引用应用程序中的对象 |
| 变体型 | Variant | 无 | vnt | 可变 | 可以保存所有系统定义的数据类型,主要是用于未定义变量的默认数据类型,其数据类型的处理完全取决于上下文 |