Visual Basic入门教程之二 |
第二章:事件、属性及数据类型 以后两章可能会 比较 单调,但不可 否定也很主要,所 认为了学好VB,我们 定然要打好 根底才行 。 一、事件 通过上一章的例子,你可能对“面向对象的编程”已经有了 定然了解,它是由事件驱动的,关于不同的对象,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时就会触发MouseMove事件,这很直观,也容易 了解,但也有些事件 比较 形象,下面我来对普通的事件进行一下解释 。 窗体和图象框类事件 Paint事件:当某一对象在屏幕中被移动,转变尺寸或 革除后,程序会自动调用Paint事件 。 留神:当对象的AutoDraw属性为True(-1)时,程序不会调用Paint事件 。 Resize事件:当对象的大小转变时触发Resize事件 。 Load事件:仅 实用于窗体对象,当窗体被装载时运行 。 Unload事件:仅 实用于窗体对象,当窗体被卸载时运行 。 2.目前光标(Focus)事件 GotFocus事件:当光标聚焦于该对象时 产 惹事件 。 LostFocus事件:当光标离开该对象时 产 惹事件 。 留神:Focus英文为“焦点”、“聚焦”之意,最直观的例子是, 比方有两个窗体, 彼此有一 部分 遮蔽,当你点下面的窗体时,它就会所有显示出来,这时它处在被激活的状态,而且 题目条变成蓝色,这便是GotFocus事件,而相反,另外一个窗体被 遮蔽,而且 题目条变灰,称为LostFocus事件 。上面所说的“光标”并非指鼠标指针 。 3.鼠标操作事件 Click事件:鼠标单击对象 。 DbClick事件:鼠标双击事件 。 MouseDown、MouseUp属性:按下/放开鼠标键事件 。 MouseMove事件:鼠标移动事件 。 DragDrop事件:拖放事件,相当于MouseDown、MouseMove和MouseUp的组合 。 DragOver事件:鼠标在拖放过程中就会产生DragOver事件 。 4.键盘操作属性 KeyDown、KeyUp事件:按键的按下/放开事件 。 KeyPress事件:按键事件 。 5.转变操纵项事件 Change事件:当对象的内容 产生转变时,触发Change事件 。最典型的例子是文本框(TextBox) 。 DropDown事件:下弹事件,仅用于组合框(ComboBox)对象 。 PathChange事件:路径转变事件,仅用于文件列表框(FileBox)对象 。 6. 其余事件 Timer事件:仅用于计时器,每隔一段 工夫被触发一次 。 二、属性 每个对象都有它的属性,而且“Name”属性是共有的,有了“Name”属性才 可以在程序中进行调用 。关于属性, 可以在窗体的布局操作中 实现,也 可以在程序运行中转变,这取决你的需求,但有些属性是只读的,它不得不在控件布局时转变 。我将在以后的实例中具体介绍各个属性的作用 。 三、数据类型 学过编程的人都晓得大多数的计算机语言都规定了各自的数据类型,VB也不例外 。其实,在一个最 容易的程序中数据类型是 可以不作规定的,也便是说,变量 可以 使用各 品种型,然而在一个复杂的程序里,这样做就很惊险,由于很可能给同一个变量给予了不同的类型,而招致程序出错 。所以,为了程序的 谨严和便于查看,正确的定义数据类型是必要的 。定义数据的另一个缘由是,不同的数据占用不同的内存数量,譬如整型(Interger)数据占2字节,而长整型数据占4个字节,定义 合适的数据类型, 无论你相信不相信,它 可以 节俭内存! VB常用的数据类型有:整型(Integer, 示意-32768至32767中间的整数)、长整型(Long, 示意-2,147,483,648至2,147,483,647中间的整数)、实型(Single, 示意-3.37E 38至3.37E 38中间的实数)、双精度实型(Double, 示意-1.67E 308至1.67E 308中间的实数),字符(String,每个字符占一字节, 可以 储存0~65,535个字符),布尔(Boolean,惟独两个值True/-1,或False/0) 。 数据类型的定义 步骤: 定义变量最 容易的 步骤是用“Dim” 要害字,它的语法: Dim【变量名】As【数据类型】 如:DimIndexAsInteger 也 可以在一行中定义多个变量,如: DimIndexAsInteger,DimNumberAsLong 把多个变量定义成同一类型 可以写成: DimIndex,NumberAsInteger 更 可以在定义时进行初赋值: DimIndex=3 有时为了简便,也以符号进行 容易的定义,作用是和上面一样的 。整型 可以用“” 接替,长整型 可以用“&” 接替,实型 可以用“!”,双精度实型 可以用“#”定义,如 方才的第一个例子 可以写成: DimIndex等价于DimIndexAsInteger 关于常量的定义用Const定义,如:ConstCOLOR=255 。 为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量普通用小写 模式,常量则所有大写 。 留神: 使用常量的 好处,关于程序中 时常浮现的数值,应设常量等于它,这样一是书写容易,其二,假如要转变该数值, 惟独转变定义常量的语句值,而不需转变每个语句, 普及了效率 。 数组的定义 类似于变量定义,所不同的是数组需求指定数组中的元素个数,例如: DimIntegerArray(99)AsInteger 这个数组中包括100个元素,脚标从0到99 。 也 可以指定脚标的起始值,例如: DimIntegerArray(2to10)AsInteger 这个数组含有九个元素,脚标从2到10 。 还 可以定义多维数组: DimThreeD(4,2to5,3to6)AsInteger 上例定义了一个3d/33.shtml'target='_blank'class='article'>三维数组(4×4×4) 。 记录的定义 记录定义是把操纵权交给消费者的 步骤,它让消费者 可以定义自己的数据类型,它 使用 要害字“Type”, 步骤是: Type【数据类型标识符】 <域名>As<数据类型> <域名>As<数据类型> <域名>As<数据类型> EndType 例如,定义一个地址数据: TypeAddress StreetAsString ZipCodeAsString PhoneAsString EndType 这个地址数据里包括三个属性,街区、邮政编码和电话, 可以把某数据定义成此类型: DimMyHomeAsAddress 要调用或转变“MyHome”的值时, 类似于对对象的属性的操作: 变量名.域名=“……” 为了简化书写 反复的 部分, 可以用 要害字“With”: WithMyHome .Street=”阜成路” .ZipCode=”100037” .Phone=”12345678” EndWith |