2.赋值语句
赋值语句是将指定的值赋给某个变量或对象的某个属性。
格式:[Let] 名称=表达式
说明:
(1)Let表示赋值,通常省略。
(2)【名称】是变量或属性的名称。
(3)【表达式】可以是VB中任何类型的表达式,但是其类型应以变量名的类型一致,否则会出现【类型不匹配】的错误。
(4)赋值语句是先计算表达式的值,然后再赋值给等号左边的变量。
【实例3.4】 设计一个程序,交换两变量的值。
在窗体中添加两个标签、两个文本框和一个按钮,界面如图3-11所示。

图3-11 程序界面
打开代码编辑窗口,在其中输入如下代码:
Private Sub Command1_Click()
Dim n As Integer
n = Text1.Text
Text1.Text = Text2.Text
Text2.Text = n
End Sub
分别输入X和Y的值,然后单击【交换两变量的值】按钮,将X和Y的值交换,如图3-12所示。

图3-12 运行结果
3.加载语句
当需要将某些控件或窗体加载到内存中时,可以使用Load语句。
格式:Load 对象名
说明:
使用Load语句只能加载窗体,但不能显示窗体。
当一个应用程序启动时,会自动加载并显示该应用程序的启动窗体。当一个窗体尚未加载时,对该窗体的任何引用都会自动加载该窗体。
例如:使用Show方法显示窗体时,会首先加载该窗体。
4.卸载语句
当要结束应用程序,或从内存中卸载某些控件或窗体时,可以使用Unload语句。
格式:Unload 对象名
说明:
(1)【对象名】是要卸载的控件或窗体的名称,可用Me来表示当前所在的窗体对象。
(2)在卸载窗体前,会引发QueryUnload事件,然后是Unload事件。在其中任意事件过程中,将参数Cancel设置为True,则可以防止窗体被卸载。
5.暂停语句
暂停语句用来暂停程序的执行,作用类似于【运行】菜单中的【中断】命令。
格式:Stop
说明:
Stop常用于程序调试,用它来设置断点,当Stop语句执行时,会中断程序运行,并自动打开立即窗口,方便用户对程序代码进行检查和调试。
6.结束语句
结束语句用来结束一个应用程序的执行,即强迫中止应用程序,卸载该程序中的所有窗体,凡是由Open语句打开的文件将被关闭,并且释放程序所占用的内存。
格式:End
说明:
End语句不调用Unload、QueryUnload、或Terminate事件或任何其它Visual Basic代码,只是强制终止代码的执行。在执行时,End语句会重置所有模块级别变量和所有模块的静态局部变量。若要保留这些变量的值,改为使用Stop语句,则可以在保留这些变量值的基础上恢复执行。
一个计算机程序通常分为输入、处理和输出三部分。计算机通过输入操作接收数据,然后对数据进行处理,将处理完的数据以各种方式输出提供给用户。本节主要介绍程序中数据输入与输出的操作。
在VB中,数据输入主要靠键盘和鼠标来完成。而对应的事件过程主要分为键盘的KeyDown、KeyUp和KeyAscii,及鼠标的MouseDown、MouseUp和MouseMove。下面分别进行讲解。
1.键盘事件
在大多数应用程序中,对于接受文本输入的控件,如:文本框、简单组合框和下拉组合框等,需要控制和处理输入的文本,而键盘输入目前仍是主流,所以常常就需要对键盘事件进行编程。
KeyDown、KeyUp和KeyPress键盘事件只用于能够获得焦点的对象,如窗体、文本框、命令按钮、选项按钮、复选框、组合框、列表框、图片框和滚动条等控件。对于窗体,仅当它上面没有可视和有效的控件或KeyPreview属性被设置为True时才能接收这些事件。
(1)KeyDown和KeyUp事件
当用户按下键盘上的任意一个键时,就会触发焦点对象的KeyDown事件;当释放该按键,就会触发KeyUp事件。
格式:
Private Sub 对象名_KeyDown(KeyCode As Integer, Shift As Integer)
Private Sub 对象名_KeyUp(KeyCode As Integer, Shift As Integer)
说明:
l KeyCode参数是用户按下的那个键的扫描码(键盘上的每一个按键都一个扫描码,且各自不同),该码以【键】为准,它不同于KeyPress事件中的KeyAscii参数(以【字符】为准)。例如:大小写字母【A】和【a】用的是同一个键,所以它们的扫描码相同,即KeyCode相同,而Ascii码不同(【A】是65、【a】是97),即KeyAscii不同。因此,往往只能通过KeyCode参数了解用户按下键盘上的哪个键(不是字符)。
l Shift参数是Shift、Ctrl和Alt三个转换键目前的状态信息,往往可以通过此参数的值了解上述三个转换键按下的情况。Shift参数是一个是位域,它用最少的位响应SHIFT键(位0)、CTRL键(位1)和ALT键(位2)。这些位分别对应于值1、2和4。具体的取值请见表3-12所示。
表3-12 Shift参数的取值
|
十进制 |
二进制 |
转换键按下情况 |
|
0 |
000 |
没有按下转换键 |
|
1 |
001 |
只按下Shift键 |
|
2 |
010 |
只按下Ctrl键 |
|
3 |
011 |
按下Ctrl+Shift键 |
|
4 |
100 |
只按下Alt键 |
|
5 |
101 |
按下Alt+Shift键 |
|
6 |
110 |
按下Alt+Ctrl键 |
|
7 |
111 |
按下Alt+Ctrl+Shift键 |
l KeyDown和KeyUp用两种参数解释每个字符的大写形式和小写形式。虽然KeyDown和KeyUp事件可应用于大多数键,它们最经常地还是应用于:扩展的字符键(如功能键)等、定位键、键盘修饰键和按键的组合、区别数字小键盘和常规数字键。
l 命令按钮的Default属性设置为True时,ENTER键不能引用KeyDown或KeyUp事件;命令按钮的Cancel属性设置为True时,ESC键不能引用KeyDown或KeyUp事件;Tab键不能引用KeyDown或KeyUp事件。
【实例3.5】 编写程序,利用KeyDown和KeyUp事件显示按下和释放转换键情况,。
打开代码编辑窗口,在其中输入如下代码:
Private Sub form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 1 Then Print "按下Shift键"; KeyCode
If Shift = 2 Then Print "按下Ctrl键"; KeyCode
If Shift = 3 Then Print "按下Ctrl+Shift键"; KeyCode
If Shift = 4 Then Print "按下Alt键"; KeyCode
If Shift = 5 Then Print "按下Alt+Shift键"; KeyCode
If Shift = 6 Then Print "按下Alt+Ctrl键"; KeyCode
If Shift = 7 Then Print "按下Alt+Ctrl+Shift键"; KeyCode
End Sub
Private Sub form_KeyUp(KeyCode As Integer, Shift As Integer)
Print "释放"; KeyCode
End Sub
运行程序后结果如图3-13所示。

图3-13 程序运行结果
(2)KeyPress事件
当用户按下和松开一个能产生Ascii码的键时发生KeyPress事件。该事件被触发时,被按键的ASCII码将自动传递给事件过程的KeyAscii参数。在程序中,通过访问该参数,可得知用户按下了哪一个按键,并可对字母大小写进行识别。
格式:Private Sub 对象名_KeyPress(KeyAscii As Integer)
说明:
其中,参数KeyAscii就是该过程接受到的按键的Ascii码。例如:按下大写字母【B】,KeyAscii的值为66;按下小写字母【b】,KeyAscii的值为98。改变keyascii参数的值会改变所显示的字符。
在键盘上的按键并非都能产生Ascii码,如:方向键←、→、↑、↓、功能键F1~F12、