项目 1 设计制作电话查询系统

78
Visual Basic 程程程程程程程程程程程Visual Basic 程程程程程程程程程程程程程 1 程程程程程程程程程1.1 使使使使使使 1.2 使使使使 1.3 使使使使 1.4 使使使使使使

Upload: gerik

Post on 07-Jan-2016

116 views

Category:

Documents


0 download

DESCRIPTION

项目 1 设计制作电话查询系统. 1.1 使用常用控件 1.2 实例训练 1.3 项目分析 1.4 设计功能模块. 本项目训练的目的. 让学生初识 VB ; 熟悉 VB 常用控件的属性、事件和方法; 了解界面设计原则和创建应用程序的基本步骤; 体会编程思路和程序设计技巧; 利用 VB 创建简单应用程序。. 开始 - 程序 -Microsoft Visual Basic 6.0 中文版 - “ 新建工程 ” 对话框 - 双击 “ 标准 EXE ”. 1.1.1 集成开发环境. 1.1.1 集成开发环境. 主窗口. 工程资源管理器. 工具箱. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

项目 1 设计制作电话查询系统

1.1 使用常用控件1.2 实例训练1.3 项目分析1.4 设计功能模块

Page 2: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

本项目训练的目的

让学生初识 VB ;熟悉 VB 常用控件的属性、事件和方法;了解界面设计原则和创建应用程序的基

本步骤;体会编程思路和程序设计技巧;利用 VB 创建简单应用程序。

Page 3: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.1 集成开发环境

开始 - 程序 -Microsoft Visual Basic 6.0 中文版 -“ 新建工程”对话框 - 双击“标准 EXE”

Page 4: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.1 集成开发环境

工具箱

窗体设计器

代码窗口

主窗口

工程资源管理器

属性窗口

窗体布局窗口

Page 5: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.2 在线帮助 -MSDN Library

Page 6: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.3 面向对象的基本概念

对象是代码和数据的组合

类是对象的抽象

属性用于描述对象的静态特征

方法是对象能够执行的一个操作

事件是窗体或控件识别的动作

Page 7: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.3 面向对象的基本概念

类是对象的抽象,定义对象的特征和描述对象的外观与行为,类是产生对象的模板。对象是一个具有属性和方法的实体,是类的一个实例。事件是对象识别的一个动作(由用户或系统激活)。方法是对象能够执行的一个操作(行为)。属性用于描述对象所具有的性质和特点(特征)。控件用以显示数据、执行操作的一种图形对象。

Page 8: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1 .对象的基本属性Name 属性:用于标识对象的名字。Caption 属性:用于标识对象的标题。Enabled 属性:使对象成为有效或无效。Visible 属性:使对象成为可见或隐藏。Font 属性:为指定对象上显示的文本设置

字体属性,包括字体( FontName )、字号( FontSize )、字形( FontBold 、 FontItali

c )等。

1.1.3 面向对象的基本概念

Page 9: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

颜色属性:BackColor :背景颜色属性ForeColor :前景颜色属性BorderColor :边框颜色属性FillColor :填充颜色属性BackStyle :背景样式属性它指定标签控件

或形状控件的背景是否透明。BorderStyle :边框样式属性,用来设置对象

的边框样式。

1.1.3 面向对象的基本概念

Page 10: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

MousePointer 属性:用来设置在运行时,当鼠标移动到对象的一个特定部分时,被显示的鼠标指针的类型。设置值的范围一般在 0~15 之间。当值设为 99 时,可以通过 MouseIcon 属性所指定的自定义图标。

MouseIcon 属性:用来设置自定义的鼠标图标,图标文件类型为 .ico 或 .cur ,图标文件在安装目录的 Graphics 文件夹中。该属性在

MousePointer 属性值为 99 时有效。

1.1.3 面向对象的基本概念

Page 11: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

Alignment 属性:该属性决定 CheckBox 或 OptionButton 控件、控件中的文本的对齐方式。

AutoSize 属性:该属性决定控件是否具有自动改变大小以显示其全部内容的功能。其设置值为True 时,自动改变控件大小以显示全部内容。 False (缺省值)时保持控件大小不变。超出控件区域的内容被裁剪掉。

WordWrap 属性:指示一个 AutoSize 属性设置为 True 的 Label 控件,是否要进行水平或垂直展开以适合其 Caption 属性中指定的文本的要求。

1.1.3 面向对象的基本概念

Page 12: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

TabIndex 属性:设置父窗体中大部分对象在按 tab 键时获得焦点的次序。

注意: 每个控件都有一个缺省属性,引用时可以省略不写,如标签的默认属性为 Caption ,文本框的默认属性为 Text 。代表当前窗体的 Me 也可以省略不写。

1.1.3 面向对象的基本概念

Page 13: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【例 1.1 】缺省属性应用示例。 在窗体上添加两个命令按钮,在命令按钮的单击事件中添加代码,程序运行时,分别单击两个命令按钮,观察标签的显示结果相同。

Private Sub Command1_Click()Me.Label1.Caption = "欢迎 "

End SubPrivate Sub Command2_Click()

Label1 = "欢迎 "End Sub

1.1.3 面向对象的基本概念

Page 14: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

2 .标准控件(内部控件) 默认状态下工具箱中显示的控件都是内部控件,不能进行删除和添加操作。命令按钮、文本框和复选框等都属于内部控件。 3 . ActiveX 控件 ActiveX 部件是可以重复使用的编程代码和数据,是由 ActiveX 技术创建的一个或多个对象所组成的、以 .ocx 为扩展名的独立文件。 4 .可插入对象 可插入对象是 Windows 应用程序的对象,如Microsoft Word 文档,可以将可插入对象添加到工具箱中,像使用标准控件一样使用。

1.1.3 面向对象的基本概念

Page 15: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.4 控件的操作

Visual Basic 中的每个对象都是用类定义的。在 Visual Basic 的“工具箱”上,控件代表类。在窗体上画出这些被称作控件的对象,就建立了控件类的实例。这个类实例就是应用程序中引用的对象。 如果在窗体上画了三个命令按钮,则每个命令按钮对象都是命令按钮类的实例。 每个对象都具有一组由类定义的公共的特征和功能。但是,每个对象都有自己的名字,都能分别设置成有效或无效,都能放在窗体的不同位置。

Page 16: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.4 控件的操作

Page 17: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.5 窗体的属性、事件及方法

1 、窗体文件 窗体文件的文件扩展名 (.frm) 2 、窗体的常用属性Caption 属性:决定窗体标题栏中显示文本。MaxButton 和 MinButton 属性:决定窗体是否

能最大化或最小化。BorderStyle 属性:可控制窗体如何调整大小。

Height 和 Width 属性:决定的窗体初始大小。Left 和 Top 属性:根据屏幕的左上角确定窗体

的位置。WindowState 属性:可以把窗体设成在启动时

最大化、最小化或正常大小。

Page 18: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

Name 属性:设置窗体的名称,在代码中用这个名称引用该窗体。 说明: 首次在工程中添加窗体时,该窗体的名称被缺省为 Form1 ;添加第二个窗体,其名称被缺省为 Form2 ,以此类推。最好给 Name 属性设置一个有实际意义的名称,如给一个浏览窗体命名为 “ frmbrow” 。

1.1.5 窗体的属性、事件及方法

Page 19: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

3 、窗体常用事件和方法Resize 事件:在调整窗体的大小时触发。Paint 事件:在一个对象被移动或放大之后,或

在一个覆盖该对象的窗体被移开之后,该对象部分或全部暴露时,此事件发生。

Activate 事件:当窗体变成活动窗体时产生。Deactivate 事件:当另一个窗体或应用程序被

激活时产生。Click 事件:在一个对象上按下然后释放一个鼠

标按钮时发生。DblClick 事件:对于窗体而言,当双击被禁用的

控件或窗体的空白区域时发生。

1.1.5 窗体的属性、事件及方法

Page 20: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

Load 事件:在一个窗体被装载时发生,在 Intialize 事件之后发生。

Unload 事件:在一个窗体被卸载时发生。  QueryUnload 事件:在一个窗体或应用程序关

闭之前发生。先触发 QueryUnload 事件再触发该窗体的 Unload 事件发生。

Show 方法:要使一个窗体可见时调用。Hide 方法:隐藏窗体。Cls 方法:清除运行时 Form 或 PictureBox

所生成的图形和文本。Move 方法:将窗体移动到某个位置。Print 方法:在窗口中显示文本。

1.1.5 窗体的属性、事件及方法

Page 21: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

说明:(1) 在 Activate 事件中,可以编写代码突出

显示一个特定文本框中的文本,在 Deactivate 事件中,可以把更改保存到一个文件或数据库中。

(2) 调用 Show 方法与设置窗体 Visible 属性为 True 具有相同的效果。

(3) 窗体的许多方法都调用文本或图形。 Print 、Line 、 Circle 和 Refresh 方法可用于直接在窗体表面上写和画。

(4) 为区别鼠标的左、中、右按钮,应使用 MouseDown 和 MouseUp 事件。

1.1.5 窗体的属性、事件及方法

Page 22: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.6 标签控件

1 .标签的常用属性Caption 属性:设置 Label 控件中显示的文本。Alignment 属性:排列文本。AutoSize 和 WordWrap 属性:缺省情况下,当输入

到 Caption 属性的文本超过控件宽度时自动换行,超过控件高度时超出部分将被裁剪掉。为使控件能够自动调整以适应内容多少,可将 AutoSize 属性设置为 True 。这样控件可水平扩充以适应 Caption 属性内容。为使 Caption 属性的内容自动换行并垂直扩充,应将 WordWrap 属性设置为 True 。

2 .标签的常用事件Label 控件可以接受 Click 、 DblClick 和 Change 事件。

Page 23: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【例 1.2 】设计浮雕效果图。 本例说明标签控件的使用方法。通过移动两个不同颜色标签在窗体上出现的位置,使其基本重叠,形成浮雕效果,运行界面如图 1-4 所示。

首先在窗体上绘制两个标签,修改标签的相关属性实现浮雕效果。修改标签的属性有两种方法,一种是在设计状态下直接改变两个标签的属性,另一种是用编程实现。

1.1.6 标签控件

Page 24: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

程序代码如下:Private Sub Form_Click() Me.Caption = "浮雕效果 " Me.Label1.Caption = "VB 训练“ Me.Label1.AutoSize = True Me.Label1.FontSize = 60 Me.Label1.FontBold = True '黑体 Me.Label1.ForeColor = vbWhite '白色 Me.Label1.BorderStyle = 1 '凹陷式 Me.Label1.Left = 300

Me.Label1.Top = 300Me.Label2.Caption = "VB 训练 " Me.Label2.AutoSize = True Me.Label2.FontSize = 60 Me.Label2.FontBold = True Me.Label2.ForeColor = vbBlack '黑色 Me.Label2.BackStyle = 0 ' 透明 Me.Label2.Left = 370 Me.Label2.Top = 370End Sub

1.1.6 标签控件

Page 25: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.7 命令按钮控件

1 。命令按钮的常用属性 Caption 属性:改变命令按钮上显示的文本。 Font 属性:设置命令按钮上显示的字体。 Default 属性:按下 ENTER 键等价按下了其设置为 True 的命令按钮。 Cancel 属性:按下 ESC 键等价按下了其设置为 True 的命令按钮。 Value 属性:设置为 True 时触发 Click 事件。ToolTipText 属性:鼠标指向命令按钮时,允许显示一个提示框,该属性值是提示框的字符串。

Page 26: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

Style 属性:设置命令按钮的外观样式 0 为默认值, 1 为图形样式 ,允许在其上放置图片。 Picture 属性:指定放在其上的图片 Style=1 )。 DisabledPicture 属性:当命令按钮无效时,显示在命令按钮上的图片( Style=1 )。 DownPicture 属性:当命令按钮被按下时,显示在命令按钮上的图片( Style=1 )。 2 .命令按钮的常用事件 GotFocus 事件:对象获得焦点时发生。 LostFocus 事件:对象失去焦点时发生。 Click 事件:单击对象时发生。

1.1.7 命令按钮控件

Page 27: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【例 1.3 】命令按钮 Value 属性应用示例。在窗体上添加两个命令按钮,在命令按钮的

单击事件中添加代码,程序运行时,分别单击两个命令按钮,观察窗体的显示结果相同。

Private Sub Command1_Click()

Print "你好 "

End Sub

Private Sub Command2_Click()

Me.Command1.Value = True

End Sub

1.1.7 命令按钮控件

Page 28: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

2 。创建键盘快捷方式 可通过 Caption 属性创建命令按钮的访问键快捷方式,为此,只需在作为访问键的字母前添加一个连字符 (&) 。运行时,同时按 ALT+ 字母键可以选定命令按钮。

3 。选定命令按钮 (1) 用鼠标单击按钮。 (2) 按 TAB 键,将焦点转移到按钮上,然后

按 SPACEBAR 或 ENTER 键选定按钮。

1.1.7 命令按钮控件

Page 29: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

(3) 按命令按钮的访问键( ALT+ 带有下划线的字母)。 (4) 假如命令按钮是窗体的缺省命令按钮,则可按 ENTER 键选定按钮,即使已把焦点转移到其它控件上,情况也是如此。 (5) 假如命令按钮是窗体的缺省取消按钮,则可按 ESC 键选定按钮,即使已把焦点转移到其它控件上,情况也是如此。

1.1.7 命令按钮控件

Page 30: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.8 文本框控件

TextBox 控件用于显示设计时用户输入的、或运行时在代码中赋予控件的信息。 1 .文本框的常用属性 Text 属性:输入存放在文本框内的字符串 , 其默认值为“ Text1” 、“ Text2” 等。 MaxLength 属性:设置文本框内为本的最大长度,用户可按需要设置最大长度。 MultiLine 属性:设置是否允许存放多行文本。默认值为 False ,只允许存放一行文本。当没有水平滚动条时,多行文本使一个长的字符串自动换行。

Page 31: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

ScrollBars 属性:设置文本框内是否有滚动条。其中:0—— 无滚动条(默认值)1——只有水平滚动条2——只有垂直3—— 有这两个

Locked 属性:锁定文本内容,防止更改。默认值为 False 。该属性设置为 Ture 时不响应键盘输入,变为只读文本框,但仍可通过 Text 属性改变文本框中的内容。

1.1.8 文本框控件

Page 32: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

SelLength 属性:选定字符串文本长度。SelStart 属性:选定文本的开始位置。若没有选

定文本,则指示插入点的位置。SelText 属性:其值为一个字符串,等于文本框

内被选定的文本。ToolTipText :设置提示框文本同命令按钮。PassWordChar :密码替换符 如可用“ *” 来替

代输入的密码 , 当其为空 ( 默认 ), 则文本框不作为输入密码使用。

1.1.8 文本框控件

Page 33: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

2 .文本框的常用事件KeyPress 事件:按下并放开键盘上字符键时触

发该事件,该事件返回一个 ASCLL参数。例如,键入字符“ A” 时,返回的 ASCLL 值为 65 ;当 ASCLL 值为 13 时,表示输入了一个回车符。

KeyDown 事件:按下键盘上任意键时触发。KeyUp 事件:松开键盘上任意键时触发该事件。MouseMove 事件:移动鼠标时触发该事件。Change 事件 :文本框内文本发生改变时触发。

1.1.8 文本框控件

Page 34: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【例 1.4 】文本框 Change 事件应用示例。在窗体上添加两个文本框,程序运行时,在

第一个文本框中输入数据,第二个文本框会出现同样的字符串。

Private Sub Text1_Change()

Me.Text2.Text = Me.Text1.Text

End Sub

3 .常用方法SetFocus 方法:用来将光标从其他位置移动

到文本框中。

1.1.8 文本框控件

Page 35: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【例 1.5 】文本框 SetFocus 方法应用示例。 在窗体上绘制一个文本框和两个命令按钮,在命令按钮的单击事件中输入如下代码,程序运行时,在文本框中输入数据“ 123”后单击命令按钮 1 时,窗体显示进入,在文本框中输入的数据不是“ 12

3” 时,单击命令按钮 1后窗体显示退出;单击命令按钮 2 可清空文本框中的数据并使文本框获得焦点( if语句格式见 VB 基本语句)。

1.1.8 文本框控件

Page 36: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

Private Sub Command1_Click()If Me.Text1.Text = "123" Then

Print " 进入 "Else Print "退出 "End If

End SubPrivate Sub Command2_Click()

Me.Text1.Text = ""Me.Text1.SetFocus

End Sub

1.1.8 文本框控件

Page 37: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.9 定时器控件

Timer 控件可用来在一定的时间间隔自动执行某些操作。 Timer 控件只在设计时出现在窗体上,运行时不可见。  Timer 控件有两个关键属性: Enabled 属性:若希望窗体在加载定时器就开始工作,应将此属性设置为 True 。 Interval 属性:指定定时器事件之间的毫秒数。间隔的取值可在 0 到 65535 之间。  注意:将 Enabled 设置为 False 或将 Interval

设置为 0 时就会暂停定时器操作。

Page 38: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1 .列表框的常用属性 Text 属性:为只读属性,返回列表框中被选择的项目。如果列表框的名称为 Listl ,则 Listl.Text

的值总是与 List1.List(Listl.ListIndex) 的值相同。 ListIndex 属性:返回或设置列表框中当前选择项目的索引,在设计时不可用。列表框的索引从 0

开始, 若没有在列表框中选择项目,则 Listlndex

的值为 -1 。对于可以做多重选择的列表框,若同时选择了多个项目, ListIndex返回所选项目的最后一项的索引。

1.1.9 定时器控件

Page 39: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.10 列表框控件

注: List1.Text 等价 List1.List(List1.ListIndex)

ListCount 属性:返回列表框中列表部分项目的总个数。 ListCount 属性值总是比最大的 ListIndex

值大 1 。 Sorted 属性:指定列表项目是否自动按字母表顺序排序。 Selected 属性:返回或设置在列表中的一个项的选择状态。该属性在设计时不可用。 MultiSelecl 属性:返回或设置一个值,该值指示是否能够同时选择列表框中的多个项,以及如何

Page 40: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

进行复选,在运行时是只读的。有以下几种取值: 0-None 为缺省值,表示不允许复选。 1-Simple 表示单击鼠标或按空格键可在列表中选择或取消选择列表项。 2-Extended 表示按下 Shift 键并单击鼠标,或按下Shift健以及一个箭头键将在以前选择项的基础上扩展选择到当前选择项。按下 Ctrl 键并单击鼠标可在列表中选择或取消选择列表项。 2 .列表框的常用事件 Click 、 DblClick 、 GotFocus 、 LostFocus 等事件。

1.1.10 列表框控件

Page 41: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

3 .列表框的常用方法 AddItem 方法:向列表框中添加新的项目,格式为: < 对象名 >.AddItem < 项目 >[ , <索引 >]

格式中的 <索引 > 表示要添加的位置。当 <索引 >

省略时,若 Sorted 属性设置为 True , < 项目 >将添加到恰当的排序位置;若 Sorted 属性设置为False , < 项目 >将添加到列表的末尾。 RemoveItem 方法:从列表框中移除项目,格式为:< 对象名 >. RemoveItem <索引 >

Clear 方法:清除列表框中的所有项目。

1.1.10 列表框控件

Page 42: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【例 1.6 】窗体装载时为列表框添加两行字符串,单击命令按钮 1 加新字符串,单击命令按钮 2 ,删除选中行,实现代码如下:

Private Sub Form_Load()Me.List1.AddItem "张三 " ' 为列表框添加字符串Me.List1.AddItem "李四 "

End SubPrivate Sub Command1_Click() Me.List1.AddItem " 加新字符串 "End SubPrivate Sub Command2_Click()

k = Me.List1.ListIndex '选中行的行号Me.List1.RemoveItem (k) '删除选中行

End Sub

Page 43: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.11 组合框控件

组合框的作用与列表框类似,只是组合框控件将文本框和列表框的特性结合在一起,既可以在控件的文本框部分输入信息,也可以在控件的列表框部分选择一项。 组合框可以将列表项折叠起来,使用时再通过下拉列表进行选择,所以使用组合框比使用列表框更节省界面空间。 Style 属性:指定组合框的显示形式,有以下几种取值: 0 为缺省值,组合框显示形式为下拉组合框,包括

Page 44: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

一个文本框和一个下拉式列表。可以从列表中选择项目或在文本框中输人文本。该样式将选项折叠起来,当需要选择时,单击组合框旁边的下拉箭头,弹出选项列表,再用鼠标单击进行选择,选择后列表会重新折叠起来,只显示被选择的项目。 1 表示组合框显示样式为简单组合框。该样式同样包括一个文本框和一个列表框,与下拉组合框不同的是,该样式不能将列表折叠起来。

1.1.11 组合框控件

Page 45: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

2 表示组合框显示形式为下拉列表框。这种样式仅允许从下拉列表中选择,不能在文本框中输入文本,列表可以折叠起来。

列表框的属性基本上都可用于组合框,但组合框不能实现多选。组合框在工具箱中的名称为 ComboBox 。

1.1.11 组合框控件

Page 46: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.12 框架控件

框架控件 (Frame) 主要用做控件的容器,也用于修饰界面。使用框架的主要目的是将一个窗体中的各种功能进一步进行分类。通过设置 Caption 属性,向用户提示该组的主要功能,让用户区分各个选项。 放在框架容器中的控件跟随其容器移动,删除容器将同时删除其中的所有控件。当框架的 Enabled 或 Visible 属性设置为 False 时,框架中的所有对象将同时无效或隐藏。要将控件放在容器中,可以先选中容器,然后在容器中直接画控件。也可以将事先画好的控件复制到剪贴板,再选中容器,然后粘贴控件。

Page 47: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.13 单选按钮控件

单选按钮控件( OptionButton ),用于提供一个可以打开或关闭的选项。通过在 Frame 控件、 PictureBox 控件或者窗体这样的容器中绘制选项按钮控件,就可以把这些控件分组。同一容器中的选项按钮控件为一个组。运行时,在选择一个选项按钮时,同组中的其他选项按钮控件会自动取消选样。 1. 单选按钮的常用属性 Value 属性:表示选项按钮的状态。 Value 属性为 True 时,表示选择了该按钮; Value 属性为 False

Page 48: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

时,表示没有选择该按钮。 Value 属性的缺省值为False 。 Alignment 属性:决定选项按钮中的文本的对齐方式。 Alignment 属性为 0-Left Justify 时表示左对齐 ;1—Right Justify 的表示右对齐。 Style 属性:用于控制选项按钮的外观。可以将Style 属性设置为 1—Graphical 使其显示成与命令按钮相同的形状,运行时按钮可以在按下和抬起两种状态间切换,这时还可以为其设置颜色或添加图形。

1.1.13 单选按钮控件

Page 49: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

2 .单选按钮的常用事件  选项按钮常用的事件为 Click 事件。当运行时单击选项按钮,使选项按钮从未选择状态变成选择状态时,或在代码中将一个选项按钮的 Value 属性从 False 改为 True 时,产生 Click 事件。可以在该事件过程中编写代码,表示选择该选项按钮时要执行的操作。有时不直接在选项按钮的事件过程中编写代码,只使用选项按钮进行选择,而在其他事件过程中根据选项按钮的 Value 值进行判断,以执行相应的操作。

1.1.13 单选按钮控件

Page 50: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.14 复选框控件

复选框 (CheckBox) 控件一般用于提供一个可以打开或者关闭的选项。选择复选框控件后,该控件将显示符号∨,而取消选择后,符号∨ 消失。也可以设置复选框使其处于第三种状态,即灰度状态。同样可以按功能对复选框进行分组,但同一组中的复选框可以有多个同时被选中。 复选框和选项按钮功能相似,但二者之间也存在重要差别。在一个窗体中可以同时选择任意数量的复选框控件,但是在一个组中,任何时候只能选择一个选项按钮。

Page 51: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.15 滚动条控件

一般使用水平滚动条 HScrollBar 、垂直滚动条

VScrollBar 控件作为数量或速度的指示器。若作为

输入设备,可以利用 Max (默认值 32767 ) 和

Min (默认值 0 ) 属性设置控件的适当变化范围。

单击滚动条或单击滚动条两端的箭头时,滚动条

的 Value 属性跟着递增或递减,增减的量是通过

LargeChange 和 SmallChange 属性设置的值。

Page 52: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.16 线条控件

线条 Line 控件是图形控件,它显示水平线、垂直线或者对角线。在设计时可以使用 Line 控件在窗体上绘制线。在运行时,除了使用 Line 方法外,还可以使用 Line 控件。运行时不能使用 Move 方法移动 Line 控件,但是可以通过改变 X1 、 X2 、 Y1

和 Y2 属性来移动或调整它的大小。 设置边框样式 BorderStyle 属性产生的效果取决于边框宽度 BorderWidth 属性的设置。如果 BorderWidth 不是 1 ,并且 BorderStyle 不是 0 或者 6 ,则将 BorderStyle 设置成 1 。

Page 53: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.17 形状控件

形状 Shape 控件是图形控件,通过改变

Shape 属性,可以显示矩形、正方形、椭圆、圆形、

圆角矩形或者圆角正方形。

可以在容器中绘制 Shape 控件,但是不能把该

控件当作容器。

边框样式 BorderStyle 属性与边框宽度

BorderWidth 属性的设置与线条控件相同。

Page 54: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.18 图片框控件 图片框 PictureBox 控件可显示位图、图标、元文件、 JPEG 或 GIF 文件的图形。如果控件不足以显示整幅图像,则裁剪图像以适应控件的大小。 可以用 PictureBox 控件将 OptionButton 控件分组,并用该控件显示图形方法的输出和 Print 方法写入的文本。 为了使 PictureBox 控件能够自动调整大小以显示整幅图形,将它的 AutoSize 属性设置成 True 。 PictureBox 控件和 Data 控件是唯一可以放置在 MDI 窗体内部区域的标准 VB 控件。可用该控件在内部区域对控件分组,以创建工具栏或状态栏。

Page 55: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.19 图像控件

图像 Image 控件用来显示图形。 Image 控件可以显示来自位图、图标或元文件的图形,也可以显示增强的元文件、 JPEG 或 GIF 文件。因为 Image

控件使用较少的系统资源,所以重画起来比

PictureBox 控件要快,但是它只支持 PictureBox 控件的一部分属性、事件和方法。用 Stretch 属性确定是否缩放图形来适应控件大小,反之亦然。虽然可以把 Image 控件放在容器里,但是 Image 控件不能作为容器。

Page 56: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

1.1.20 创建应用程序

1. 利用 VB 开发应用程序的基本步骤 ( 1 )创建应用程序界面; ( 2 )设置对象的属性; ( 3 )编写程序代码; ( 4 )调试、运行程序; ( 5 )保存、编译应用程序; ( 6 )制作安装盘,发布应用程序。

Page 57: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

2. 应用程序设计原则( 1 )能正确完成用户预期的功能。( 2 )具有较强的可扩展性。

( 3 )提供信息反馈,使用户随时掌握应用程序的运行情况。 ( 4 )系统要有错误处理的功能,具有较强的容错功能。 ( 5 )设计良好的联机帮助。

1.1.20 创建应用程序

Page 58: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

3. 界面设计原则 ( 1 )界面要具有一致性。统一的界面会让用户始终用同一种方式思考与操作。 ( 2 )界面友好,使用方便,常用操作要有捷径。 ( 3 )突出重要的元素。在设计控件的位置时,重要的或者频繁访问的元素应放在显著的位置上。根据多数人的阅读习惯,在一页之中从左到右、自上到下的阅读,所以最重要的元素应当放在屏幕的左上方。

1.1.20 创建应用程序

Page 59: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

( 4 )保持界面简单明了可以使重要的元素更加

突出。适当留出一些空白空间也会使界面更易阅读。

( 5 )尽量把元素和控件按功能或关系进行逻辑地

分组,在布局上放置在相近的位置。在许多情况下,

可以使用 Frame 控件来帮助加强控件之间的联系。

( 6 )在界面上使用颜色和图像可以增加视觉上的

感染力,但是切忌滥用。

1.1.20 创建应用程序

Page 60: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

( 7 )在窗体上适当地使用图片与图标可以增加应用程序的视觉上的趣味,图片可以比文本更加形象地传达信息,如 Windows 用剪刀图标代表“剪切”功能。 ( 8 )不要背离Windows 的界面准则。如菜单设计时,“文件”菜单在最左边,“帮助”菜单在最右边,不要偏离已经创建的准则太远。 ( 9 )输入画面尽可能接近实际。如某会计软件的凭证录入画面是表格式的,屏幕画面类似实际凭证,用户在终端上录入凭证,仿佛用笔在纸上填写凭证。

1.1.20 创建应用程序

Page 61: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

4. 图形截获技术在程序设计中的应用 面向对象的程序设计在讲解时画面多,做笔记困难。学生在听课时可以简单画出程序设计界面草图,在旁边标明使用控件的名称,如图 1-5 所示。

1.1.20 创建应用程序

Page 62: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

在交互式电子教室中听课可使用图形截获技术快速记录教师正在讲解的画面、 各控件设置的主要属性、主要事件及代码 。 具体操作如下: (1) 用 Alt+Print 键抓图或直接按 Print 键抓图,然后用窗口键 +D脱离教师机控制,将截取的设计界面或代码图片粘贴到 Word 文件中。 (2) 课后将Word 文件中的图片复制到画图工具窗口,在画图窗口中将图片的多余部分裁减掉,再将图粘贴到 Word 文件中进行整理。

1.1.20 创建应用程序

Page 63: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

任务 1.2 实例训练

1.2.1 使用标签、命令按钮设计静态界面

【训练 1.1 】 标签、命令按钮应用。 设计要求:单击命令按钮控制标签移动、改变字的大小和颜色,运行界面如图 1-6 所示。 设计提示:改变标签的 Left 属性值可使标签左右移动,改变标签的 Top 属性值可使标签上下移动。通过属性 . ForeColor 、 BackColor 可改变标签字的颜色和背景颜色。

Page 64: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

表 1-1 属性设置对象 属性 属性值标签 Caption 欢迎使用

AutoSize TrueFont 华文彩云

Name L1命令按钮 Caption 大字

Name Command1命令按钮 Caption 小字

Name Command2命令按钮 Caption 变色

Name Command3命令按钮 Caption 移动

Name Command4

Page 65: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

标签、命令按钮应用

运行结果

程序代码

Page 66: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【训练 1.2 】 if语句、文本框、线条等控件应用。 设计要求:文本框输入口令后单击确定,判断口令是否正确,正确时显示下一窗体,输入错误时自动清空文本框中内容,可重新输入口令,单击取消按钮可取消两个文本框中内容。 设计提示:用形状、图像控件为确定标签设置背景,为取消按钮设置背景,观察按钮变化,按照界面设计原则修改登录窗口的外观。 注:程序代码、运行界面见工程文件

1.2.2 使用判断分支语句设计登录界面

Page 67: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【训练 1.3 】 利用定时器控制标签移动。

设计要求:单击闪烁按钮控制标签闪烁,单击移动

按钮使标签向右连续移动,当移出窗体时再从窗体的

左边飞入,周而复始,直到按停止按钮标签才停止运

动。

注:程序代码、运行界面见工程文件

1.2.3 使用定时器控件设计动态界面

Page 68: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【训练 1.4 】使用工程资源管理器管理文件。 设计要求:复制训练 1 窗体,另存成另一文件名并将其添加到工程中,再修改窗体界面,实现相应功能。 设计提示:同一工程中的各窗体名称不能同名。工程文件 (.vbp) 存盘后,再打开工程才会在工程窗口中看到多个窗体,工程中使用的外部控件也会在工具箱中找到。

1.2.4 工程管理

Page 69: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【训练 1.5 】 工程环境设置。 操作要求:改变图 1-11 中有关复选框的选中状态,添加新窗体,输入代码,观察变化。 预期目标:学会调整程序开发环境,能使用Ctrl+J 自动列出成员、 Ctrl+I 自动显示信息,体会“自动语法检测”、“自动列出成员”、“自动显示快速信息”、“要求变量声明”复选框的作用。

1.2.4 工程管理

Page 70: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

任务 1.3 项目分析

运行结果

【模块 1.1 】电话查询系统封面

设计思路:该界面用两个按钮控制整个应用系统

进入或退出,单击进入按钮,出现登录窗口,单击

退出按钮调用结束整个应用程序的界面。

分析:模块涉及的主要知识点有窗体操作、控件

布局、各对象属性设置。存在的问题是界面颜色使

用混乱,显示字体单一,不符合界面设计原则。

Page 71: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【模块 1.2 】电话查询系统登录界面。 设计思路:用确定按钮控制是否进入系统,取消按钮清除文本框中的信息,并使文本框获得焦点。修改文本框的 PasswordChar 属性可达到掩盖输入数据的效果。将命令按钮的 Style 属性值设置为 1 ,可插入图片或修改背景颜色。 分析:此模块涉及的主要知识点有 if语句、组合框控件的应用。 知识拓展:改进界面外观、为该模块添加不同用户使用不同密码登录的功能。

Page 72: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【模块 1.3 】电话查询系统主界面 设计思路:该界面是整个系统的总控制界面,点击选项按钮,显示响应信息,如点击显示帮助按钮在右侧出现相应文字,该文字初始被一个形状控件遮挡,运行时代码实现置后的效果,设计时右击鼠标可以设置控件置前或置后。点击其它两个按钮,分别进入电话查询和电话浏览界面。 分析:此模块应用遮盖技术初始化帮助画面;使用窗体的 Activate 事件初始单选按钮,使该界面不至于刚启动就选中第一个选项按钮。

Page 73: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【模块 1.4 】电话查询系统查询界面。 设计思路:单击列表框中某人姓名,右侧显示该人电话信息。用框架控件将每人信息组在一起,显示其中一人,其他人的信息隐藏起来。界面中间使用线条控件分割。 分析:此模块涉及的主要知识点有框架、列表框控件的应用。使用了一组控件显示,另外一组控件隐藏的切换技术来显示某人电话信息。存在的问题是功能实现方法过于笨拙,假如人数多时很难实现控制。

Page 74: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【模块 1.5 】电话查询系统浏览界面。 分析:此模块是为了演示而设计,窗体没添加任何代码。模块涉及的知识点主要有框架、图片框控件的应用。存在的问题是此种实现方法很难实现显示多人信息;对比电话查询界面与电话浏览界面“赵六”的电话号码不同,造成此种现象的原因有以下几点:

• 该人有多个电话,此处提示不清晰;•同一原始数据,在多处重复输入很容易造成此类错误发生,所以设计时应考虑避免数据冗余和数据不一致现象发生。

Page 75: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【模块 1.6 】电话查询系统关于界面。 设计思路:该模块可以自己设计,也可用添加关于窗体模板建立然后修改设计界面得到。设置标签BackStyle 属性为 0 使其透明。 【模块 1.7 】电话查询系统结束界面。 设计思路:用定时器控制图像控件 Height 属性值的增加速度,当到达窗体底部时整个应用程序结束。 技术要点:设计时,修改图像 Image1 控件的Stretch 属性值,可决定是否调整图形的大小,以适应图像控件。

Page 76: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

【模块 1.7 】电话查询系统结束界面。

分析:此模块涉及的知识点主要有图像、定时

器控件的应用。将定时器的 Interval 属性值设置小一

点,可使图片下落速度加快,或在图像控件的单击事

件 Image1_Click() 中使用 End语句快速退出系统。

创新思路:使用标签写入多行文字,用上滚字

幕的方法使其慢慢消失,实现如同影片结尾的滚动字

幕效果。

Page 77: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

为了使学生掌握常用控件的使用方法,项目中分设了三大任务:熟悉常用控件、初步掌握常用控件和灵活应用常用控件。 该项目详细讲解了 Visual Basic集成开发环境、工程环境设置和工程管理、面向对象的基本概念;将窗体、常用控件的相关知识融在了各功能模块的设计中;通过电话查询系统各功能模块分析及功能模块设计,使学生初步了解了小型应用程序的设计流程,初步掌握了应用程序的调试步骤。

项目小结 1

Page 78: 项目 1   设计制作电话查询系统

《 Visual Basic 程序设计项目化训练教程》

《 Visual Basic 程序设计项目化训练教程》

在本项目的基础上,进一步完善电话查询系统

的功能。要求:设计一个友好的界面,能够浏览多

个人的电话信息;在此基础上为用户提供输入基本

信息、修改及删除电话信息的功能,拓展为电话信

息管理系统;若对数据稍做修改也可以拓展为档案

管理、学籍管理等系统。

项目拓展 1