收藏 分享(赏)

vb教程(练习试题适合新手).doc

上传人:tangtianxu1 文档编号:3060647 上传时间:2018-10-02 格式:DOC 页数:95 大小:429.50KB
下载 相关 举报
vb教程(练习试题适合新手).doc_第1页
第1页 / 共95页
vb教程(练习试题适合新手).doc_第2页
第2页 / 共95页
vb教程(练习试题适合新手).doc_第3页
第3页 / 共95页
vb教程(练习试题适合新手).doc_第4页
第4页 / 共95页
vb教程(练习试题适合新手).doc_第5页
第5页 / 共95页
点击查看更多>>
资源描述

1、1VB 练习试题(适合新手)我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于 DOS 下的编程语言,譬如 C、Qbasic、Pascal 等等,真不知何年何月才能有所成就。编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程,这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但在第四代计算机语言(可视化编程)出现后,可以确切的说它开发了人们的更多天赋,并不局限于那些头脑异常清晰的人,每

2、一个人都可以发现自己也可以编出一些从前不敢问津的程序,想象力的充分发挥才是第四代语言的精粹。Visual Basic(以下简称 VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前 VB 诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着 VB6.0 的研制、测试,这么高的更新率,不外乎说明两个问题:用户对 VB 的热衷,微软对 VB 的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如 IE 之于浏览器领域,帝国时代之于游戏都是最好的例证。对于 VB 现在也有一

3、个很强的竞争对手Delphi,有人把它称作 VB杀手,这显然有偏激之处,VB 的确有它的不足之处,但 Delphi 又何尝不是呢,而且以微软对 VB 的倾心,VB 的功能必然会越来越强大。VB 的诞生VB 的出现可以说是 Microsoft Windows 的日渐成熟的必然产物。Microsoft Windows 为程序员和最终用户提供了一个共同的人机界面。对用户,Windows 提供了一个图形鼠标的操作环境,该环境对所有的应用程序都一样;对于程序员,Windows 提供了一组预定义工具-称之为Microsoft Windows 的软件开发工具箱(SDK),该工具能使程序员建立一个与 Wind

4、ows 界面相同的应用程序,而且,程序员不必关心最终用户的硬件配置情况。在这一开发环境中,程序员唯一困难的是 Microsoft SDK提供了六百多个函数和与其一致的事件驱动(event-driven)编程技术。两种新方法的交叉使众多的程序员重新陷入困境,程序员不仅要掌握程序驱动编程技术和六百多个函数的功能,而且还得用 C 语言描述这些问题。2因此一般情况下,程序员首先要掌握 C 程序设计技术,而后再开始学习SDK。这样的条件下就要求在 Microsoft 多任务环境下出现一种操作方便,使用简单的新工具Visual Basic 由此诞生。 何为可视 英文 Visual 的意思是“视觉的”,“可

5、视的 Baisc”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“可视”,你只要看到 VB 的界面就会明白,实际上你无需编程,就可以完成许多步骤。在 VB 中引入了控件的概念,在 Windows 中控件的身影无处不在,各种各样的按钮、文本框、无线钮,都是控件的种类,VB 把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法。这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。第二章:事件、属性及数据类型以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好 VB,我们一定要打好基础才行。一、事件通过

6、上一章的例子,你可能对“面向对象的编程”已经有了一定了解,它是由事件驱动的,对于不同的对象,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时就会触发 MouseMove 事件,这很直观,也容易理解,但也有些事件比较抽象,下面我来对一般的事件进行一下解释。窗体和图象框类事件 Paint 事件:当某一对象在屏幕中被移动,改变尺寸或清除后,程序会自动调用 Paint 事件。注意:当对象的 AutoDraw 属性为 True(1)时,程序不会调用 Paint 事件。 Resize 事件:当对象的大小改变时触发 Resize 事件。 Load 事件:仅适用于窗体对象,当窗体被装载时运行。 Unl

7、oad 事件:仅适用于窗体对象,当窗体被卸载时运行。 2.当前光标(Focus)事件3GotFocus 事件:当光标聚焦于该对象时发生事件。 LostFocus 事件:当光标离开该对象时发生事件。 注意:Focus 英文为“焦点”、“聚焦”之意,最直观的例子是,比如有两个窗体,互相有一部分遮盖,当你点下面的窗体时,它就会全部显示出来,这时它处在被激活的状态,并且标题条变成蓝色,这就是 GotFocus事件,而相反,另外一个窗体被遮盖,并且标题条变灰,称为 LostFocus事件。上面所说的“光标”并非指鼠标指针。3.鼠标操作事件Click 事件:鼠标单击对象。 DbClick 事件:鼠标双击事

8、件。 MouseDown、MouseUp 属性:按下/放开鼠标键事件。 MouseMove 事件:鼠标移动事件。 DragDrop 事件:拖放事件,相当于 MouseDown、MouseMove 和 MouseUp 的组合。 DragOver 事件:鼠标在拖放过程中就会产生 DragOver 事件。 4.键盘操作属性KeyDown、KeyUp 事件:按键的按下/放开事件。 KeyPress 事件:按键事件。 5.改变控制项事件Change 事件:当对象的内容发生改变时,触发 Change 事件。最典型的例子是文本框(TextBox)。 DropDown 事件:下弹事件,仅用于组合框(Combo

9、Box)对象。 PathChange 事件:路径改变事件,仅用于文件列表框(FileBox)对象。 6.其他事件4Timer 事件:仅用于计时器,每隔一段时间被触发一次。 二、属性每个对象都有它的属性,并且“Name”属性是共有的,有了“Name”属性才可以在程序中进行调用。对于属性,可以在窗体的布局操作中完成,也可以在程序运行中改变,这取决你的需要,但有些属性是只读的,它只能在控件布局时改变。我将在以后的实例中具体介绍各个属性的作用。 三、数据类型 学过编程的人都知道大多数的计算机语言都规定了各自的数据类型,VB 也不例外。其实,在一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可

10、以使用各种类型,但是在一个复杂的程序里,这样做就很危险,因为很可能给同一个变量赋予了不同的类型,而导致程序出错。所以,为了程序的严谨和便于查看,正确的定义数据类型是必要的。定义数据的另一个原因是,不同的数据占用不同的内存数量,譬如整型(Interger)数据占 2 字节,而长整型数据占 4 个字节,定义合适的数据类型,不管你相信不相信,它可以节省内存!VB 常用的数据类型有:整型(Integer,表示-32768 至 32767 之间的整数)、长整型(Long,表示-2,147,483,648 至 2,147,483,647 之间的整数)、实型(Single,表示-3.37E+38 至 3.3

11、7E+38 之间的实数)、双精度实型(Double,表示-1.67E+308 至 1.67E+308 之间的实数),字符(String,每个字符占一字节,可以储存 065,535 个字符),布尔(Boolean,只有两个值 True/-1,或 False/0)。 数据类型的定义方法: 定义变量最简单的方法是用“Dim”关键字,它的语法: Dim 【变量名】As 【数据类型】如:Dim Index As Integer也可以在一行中定义多个变量,如:Dim Index As Integer , Dim Number As Long把多个变量定义成同一类型可以写成:5Dim Index , Num

12、ber As Integer 更可以在定义时进行初赋值:Dim Index=3有时为了简便,也以符号进行简单的定义,作用是和上面一样的。整型可以用“%”代替,长整型可以用“&”代替,实型可以用“!”,双精度实型可以用“#”定义,如刚才的第一个例子可以写成:Dim Index% 等价于 Dim Index As Integer对于常量的定义用 Const 定义,如:Const COLOR=255。 为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量一般用小写方式,常量则全部大写。注意:使用常量的好处,对于程序中经常出现的数值,应设常量等于它,这样一是书写方便,其二,如果要改变该数值,只需

13、改变定义常量的语句值,而不需改变每个语句,提高了效率。数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如: Dim IntegerArray(99) As Integer这个数组中包含 100 个元素,脚标从 0 到 99。也可以指定脚标的起始值,例如:Dim IntegerArray(2 to 10) As Integer这个数组含有九个元素,脚标从 2 到 10。还可以定义多维数组:Dim ThreeD(4,2 to 5,3 to 6) As Integer上例定义了一个三维数组(444)。记录的定义 6记录定义是把控制权交给用户的方法,它让用户可以定义自己的数据类型,

14、它使用关键字“Type”,方法是:Type 【数据类型标识符】As As As End Type例如,定义一个地址数据:Type AddressStreet As StringZipCode As StringPhone As StringEnd Type这个地址数据里包括三个属性,街区、邮政编码和电话,可以把某数据定义成此类型:Dim MyHome As Address要调用或改变“MyHome”的值时,类似于对对象的属性的操作:变量名.域名“”为了简化书写重复的部分,可以用关键字“With”:With MyHome.Street=”阜成路”.ZipCode=”100037”.Phone=”

15、12345678”End With7本章提要:VB 语法与 Basic 的异同 注释语句 长语句的分行 条件语句 循环语句 运算操作 数据定义与赋值 函数和过程 一、VB 与 BasicVB 之所以叫做“Visual Basic”就是因为它使用了 Basic 语言作为代码,所以它们之间有着千丝万缕的关系,如果学过 Basic 的话,看到 VB 的程序结构会感到很亲切。但 VB 作为新生物,也超越了 Basic 的限制,有了许多自己的特点: VB 建立了一种新的变量类型货币型变量,通过使用仅带有二位小数的货币变量,就能避免因使用实型变量而带来的数值积累误差问题。 VB 在调用函数(Functio

16、n)时,必须在函数名后跟一对括号。 VB 对白兰地使用范围重新做了规范,在 Basic 里把隐含变量都当作全局变量,而在 VB 里对隐含变量都当作局部变量。 VB 里的说明语句(Declare),仅支持动态链结库(DLL)的子程序和无变量函数。 使用数组,必须事先用 Dim 或 Redim 进行定义。 二、注释语句 8在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。在 VB 里,注释语句有两种,一种是用“Rem”关键字,这跟 DOS 里的

17、批处理文件的用法一样,还有一种是利用单引号“”,例如:Dim a As String 与Rem Dim a As String 的作用是一致的。三、长语句的分行 在比较早的版本中,因为没有象 C 等语言用“;”隔开语句与语句,VB 的语句是必须写在一行里的,不过后来版本的 VB 里如许用分行符“_”把一个长语句分成若干行来存放。四、条件语句如果你学过任何一种编程的话,都会知道在程序里控制其流程的有两种语句,条件与循环,VB 自然也不例外,其实不管哪种语言,条件和循环的样子都差不多,只不过各有各的规矩罢了。在条件语句里,我们先来学习“IfThen”语句。它的一般语法是:If Then End I

18、f与 C 语言不同,VB 的条件语句更符合英语的语法,如果 Then 后面所跟的语句只有一条,可以写成:If Then 而不用 End If。9有时我们还会用到If ThenElse End If更可以在 Else 里在嵌套 If 语句,如:If ThenElse If ElseEnd If所有这些可以用一个表格表示:条件 1 True False 条件 2 True False 条件 3 True False 语句1 语句2 条件 N 10True False 语句 N 语句 N1 用了过多的 Else 后你会感到很不方便,而且程序结构也不清晰,所以大多数的语言还有 Select 语句帮助解

19、决这个问题。VB 里的 Select 语句的格式是这样的:Select Case Case Case Case Case ElseEnd Select例如:Select Case a%Case 1Print “a=1”Case 2Print “a=2”Case ElsePrint “a does not equal to 1 or 2.”End Select五、循环语句11循环结构是计算机语言里一种重要的结构,它的应用广泛,最简单的例子是累加器的作用,还可以用于穷举法,更直观的例子是把某件事重复指定的次数,这样就不用把要重复的语句输入多次,而通过循环结构完成,非常方便。C 语言里有一个“for

20、”循环语句,VB 里也有“For”关键字,作用也差不多,只是 VB 的“For”语句更容易理解。它的格式是:For = To Step Next 在默认情况下,Step 被设为“1”,可以省略,Step 也可以设为负值,例如:Dim a=0For I=1 To 10 a=a+INext I这是一个最简单的累加器的例子,把 1 到 10 累加在一起,然后赋值给“a”这样的效果和上面是一样的,只不过是倒着加罢了,请看:Dim a=0For I=10 To 1 Step 1a=a+INext IWhile 语句也是一个很常用的循环语句,它的形式很多。Do While Loop 语句 While We

21、nd 语句 Do Loop While 12While 后面都跟逻辑条件判断,“Do While Loop 语句”和“While Wend 语句”作用相似,都是先判断 While 后面的条件是否为“真”,如果为“真”则执行里面的语句,如果为“假”,则退出循环,循环直至条件为“假”终止。“Do Loop While ”与前两者的区别在于,它不管条件的真假,都会先执行“Do”后面的语句,也就是说,它至少执行语句一次。与 While 用法相似的还有 Until 语句,它是直至条件为真则终止循环,句式把 While 上述三个语句的 While 换成 Until 即可,但是因为容易记混,所以我建议只用

22、While 即可。Until 可以相当于 While Not 。For 循环和 Whlie 循环应当根据适当的环境使用,它们有时也可替换。六、运算操作数学运算 :加法运算,也适合于字符串的之间的合并运算。 :加法运算。 *:乘法运算。 /:除法运算。 :整除运算。 Mod:求余运算。例如:a Mod b 表示 a 被 b 整除以后的余数。 :幂运算。AB 表示以 A 为底的 B 次方。 关系运算 关系运算也称比较运算,它表示不等式的真或假,VB 共提供六种运算符,分别是=(等于),(大于),=(大于等于),(不等于)。逻辑运算 逻辑运算是对真或假的运算,我将列表说明:13A B Not A非

23、And与 Or或 Xor异或 Eqv相等 Imp蕴含 T T F T T F T T T F F F T T F F F T T F T T F T F F T F F F T T TTrue FFalse七、 数据与定义本标题的内容已经在上一章向大家详述过,在这里就不再重复。八、函数与过程 函数与过程有许多相似的地方,它们之间最大也是最本质的区别就在于,函数有一个返回值,而过程只是执行一系列动作,所以可以简单的把函数理解成为一个变量,而 VB 中的每个事件都是一个过程,比如Command1_Click()就是一个过程。因为在程序设计中经常会有重复的地方,所以把它做成一个函数或一个过程,在使用

24、时进行调用,可以节省大量的输入代码的时间,而且使用函数和过程也便于程序的结构化和修改查看。函数和过程都可以有参数,也可以没有参数。关于函数和过程将在以后的章中配合实例讲解,请您继续 VB 教程。第四章 按钮(一)14从本章开始我们将正式进入 VB 的编程世界,但这还仅仅是个开端,要编出功能强大的软件,还要学很多东西,那就要看以后的 VB 高级教程了,我也得努力学啊!按钮是我们在 Windows 操作见到最多的控件,它们有着各种各样的功能:“确认”、“取消”、“下一步”等等,这些都是按钮的表现,另外还有很多图形话的按钮,其实它们并没什么不同,所有的按钮都是通过单击(click)事件实现的,只不过

25、是在外表不同罢了。下面就让我们建立一个最简单的按钮,双击工具箱的 CommandButton,将在窗体上建立一个形如图 41 的按钮,它的缺省名(Name 属性)为 Command1,我们可以把它改名为 cmdExit,把 Caption 属性设为“退出”,然后双击,按钮填写代码:Private Sub cmdExit_Click()Unload MeEnd Sub按下 F5 或者工具条上的播放按钮,运行程序。图 42 当你按下退出按钮的时候,就会自动退出程序,原因是当你单击按钮时激活了它的Click 事件,执行“Unload Me”语句,使得窗体被卸载。 上面举了一个比较简单的例子,下面的例

26、子稍微复杂些: 新建窗体,控件布局如图 43 所示,包括一个 List 控件,一个 Text控件和两个按钮(Command1 和 Command2), (比较简单的程序我们都采用缺省名),对它们属性做如下修改:15List1 Caption“请输入你的名字” Text1 Text“”(空字符串) Button1 Caption“复原”EnabledFalse Button2 Caption=“清除” 把使用 Button1 的 Enabled 属性设为 False(假),是使程序在初始时,无法单击 Command1。按 F5,运行程序,图 44,复原按钮成为灰色,不可选。当然现在程序还什么也不

27、能做,下面我们在程序中添加代码:16首先在 General 里声明全局变量:Dim StoreString As String 用来储存字符串注意:为什么用全局变量?VB 里每一个小过程都相当于一个程序,程序里的变量称为局部变量,是只能在程序内部使用的,而当程序调用结束后,由于从内存中被清除,所以变量储存的值也就消失了,这里的全局变量是用来在过程中传递字符串。接着填写以下代码:Private Sub Command1_Click()Text1.Text = StoreStringCommand1.Enabled = FalseEnd SubPrivate Sub Command2_Click(

28、)StoreString = Text1.TextText1.Text = “ 清除Command1.Enabled = TrueEnd Sub运行程序,如图 45。按下“清除”,文本框被清除,按下“复原”,文本有被恢复,许多程序中的 Undo/Redo 就是利用这个原理实现的,现在知道为什么内存越多越好了吧。17我们在把程序修改一下,把 Button2 删除,Button1 的 Enabled 属性改为 True,Caption 改为“清除”,填写代码:Private Sub Command1_Click()If Command1.Caption = “清除“ ThenStoreString

29、 = Text1.TextText1.Text = “ 清除Command1.Caption = “复原“ElseText1.Text = StoreStringCommand1.Caption = “清除“End IfEnd Sub同样可以上面的功能,但是却少用了一个控件,控件使用少的程序启动会快些。 下面的例子要更加复杂些,大家一定都用过 Windows 附件中的计算器,它是一个标准的科学计算器,利用 VB 我们也可以做到,只是没有那么复杂,四则运算而已。 先建立一个新的项目文件,里面包含一个 Form1 的窗体。然后,添加控件,包括一个 Text 框(Text1),和 17 个按钮,这

30、17 个按钮使用的名称都是 Command1,只是 Index 属性不同,就好象一个数组,创立一组按钮的方法是,先在窗体上建立一个按钮(Command1),然后在 Command1 上击鼠标右键,选择复制(Copy),然后在窗体上任意部位击右键,选择粘贴(Paste),系统会提示是否创建控件组,选择“是”,重复上面步骤,直至创立 17 个按钮为止。各控件属性如下表:18Text1 BackColor&H00C0FFFF&Text“0.” Command1 Index 016Index 09 Caption=“0”“9”Index 10 Caption=“.”Index 11 Caption=“

31、=”Index 12 Caption=“+”Index 13 Caption=“-”Index 14 Caption=“”Index 15 Caption=“”Index 16 Caption=“清除”如果想改变一些其他的属性,比如字体,可以自己定义一下 Font 属性,如果相对多个控件的共同属性进行改变,可以在窗体上按下鼠标,拖动,把多个控件一起选定,然后对它们的共同属性进行修改。19别看这个东西小,还费了近我两个小时呢,不觉大叹手生,里面也有些地方很绕弯子,我尽量解释清楚。在编写程序之前,我们先来回顾一下计算器的使用。按下数字键在液晶屏上会出现数字,这是最基本的功能。 第一次按下运算键,再

32、按下数字键,将重新输入第二个数字,再次按下运算键,将算出前两个数的结果,然后按下数字键,将又重新输入新的数字。输入数字后,按下“等于键”将仍输出原来的数字,输入运算符和第二个数字后在按下“等于”,将得到二者的结果。然后又重复第二、三步。 按下“清除”,数据被全部清除。 了解了这些,我们一步一步实现。 先实现数据的输入,请看代码。 与未创立组的控件相比,它的事件里多了 Index 参数,组里所有的对象都使用同一个事件。先在 General 里声明窗体级全局变量:Dim Num1, Num2 As SingleDim StrNum1, StrNum2 As StringDim FirstNum A

33、s Boolean 判断是否是数字开头因为 Text1 里是存放字符串的,所以要把输入的数据进行运算,必须把字符型变量转变为实型变量,分别用 Num1、Num2 和 StrNum1、StrNum2进行存放。在 Form_Load 事件里给变量初赋值:Num1 = 0Num2 = 0StrNum1 = “StrNum2 = “FirstNum = True因为 17 个按钮使用的是同一事件,所以我们用一个 Select Case 语句区分各个按钮,双击任意按钮输入代码:20Private Sub Command1_Click(Index As Integer)Select Case IndexC

34、ase 0 To 9If FirstNum ThenStrNum1 = Str(Index)实型转字符型FirstNum = False初赋值为假Else非初赋值StrNum1 = StrNum1 + Str(Index)End IfText1.Text = StrNum1显示End SelectEnd Sub运行程序的话已经可以输入数据,下面我们来处理小数点。在 General 里声明新的变量:Dim PointFlag As Boolean 判断是否已有小数点我们知道小数点只能输入一次,一个数据中不能有多个小数点存在,所以需要一个布尔变量做判断。在 Form_Load 里进行初赋值:Poi

35、ntFlag = False在 Command 的单击事件里接着上面输入新的代码:Case 10If Not PointFlag Then如果没有小数点If FirstNum Then如果是第一个字符StrNum1 = “0.“FirstNum = False21ElseStrNum1 = StrNum1 + “.“End IfElse已有小数点Exit Sub则退出单击事件End IfPointFlag = TrueText1.Text = StrNum1第四章 按钮(二)下面会复杂一些,我们先跳过等号,而来处理四则运算:先在 General 里声明新变量:Dim Runsign As In

36、teger 储存运算符号Dim SignFlag As Boolean 判断是否已有运算符号然后在 Form_Load 中进行初赋值:Runsign = 0SignFlag = False在接下的 Command1_Click 中继续输入代码:Case 12 To 15FirstNum = True使下一次可以输入新数据PointFlag = False还原标记值If SignFlag Then前面已有运算符未运算Call RunElse22SignFlag = TrueStrNum2 = StrNum1把字符串 1 复制给字符串 2StrNum1 = “字符串 1 清空End IfRunsi

37、gn = Index - 11 储存键入的运算符里面运算的部分我用了一个过程,是因为在按下等号时还会调用到运算过程,这样可以减少代码的输入,也使程序便于浏览。建立过程(Procedure),可以在 General 部分直接输入,也可以通过菜单里的“Add Procedure”添加。Run 的代码如下:Sub Run()Num1 = Val(StrNum2)Num2 = Val(StrNum1)Select Case RunsignCase 1加equal = Num1 + Num2Case 2减equal = Num1 - Num2Case 3乘equal = Num1 * Num2Case

38、4除equal = Num1 / Num2End SelectStrNum2 = Str(equal)StrNum1 = StrNum2Text1.Text = StrNum2End Sub 下面是其余的代码:(在 Command1_Click 事件里,接着写) 23Case 11If Not SignFlag ThenText1.Text = StrNum1equal = Val(StrNum1)FirstNum = TruePointFlag = FalseElseCall RunSignFlag = FalseEnd IfCase Else清除按钮Call ClearData里面又用到了

39、一个 ClearData 过程,实际上就是 Form_Load 里的变量初赋值,代码如下:Sub ClearData()Num1 = 0Num2 = 0StrNum1 = “StrNum2 = “FirstNum = TruePointFlag = FalseRunsign = 0SignFlag = FalseText1.Text = “0.“End Sub24这样完整的程序就完成了,本章介绍了 VB 的第一个控件按钮,并且举例,希望你继续看下一章菜单。 下面给出完整的程序代码: Dim Num1, Num2 As SingleDim StrNum1, StrNum2 As StringDi

40、m FirstNum As Boolean 判断是否是数字开头Dim PointFlag As Boolean 判断是否已有小数点Dim Runsign As Integer 储存运算符号Dim SignFlag As Boolean 判断是否已有运算符号Sub ClearData()Num1 = 0Num2 = 0StrNum1 = “StrNum2 = “FirstNum = TruePointFlag = False25Runsign = 0SignFlag = FalseText1.Text = “0.“End SubSub Run()Num1 = Val(StrNum2)Num2 =

41、 Val(StrNum1)Select Case RunsignCase 1equal = Num1 + Num2Case 2equal = Num1 - Num2Case 3equal = Num1 * Num2Case 4equal = Num1 / Num2End SelectStrNum2 = Str(equal)StrNum1 = StrNum2Text1.Text = StrNum2End SubPrivate Sub about_Click()26MsgBox “Create by 周晓阳。1998/7/27“, vbDefaultButton1, “VB 教程第四章范例“End

42、 SubPrivate Sub Command1_Click(Index As Integer)Select Case IndexCase 0 To 9If FirstNum ThenStrNum1 = Str(Index)FirstNum = FalseElseStrNum1 = StrNum1 + Str(Index)End IfText1.Text = StrNum1Case 10If Not PointFlag ThenIf FirstNum ThenStrNum1 = “0.“FirstNum = FalseElseStrNum1 = StrNum1 + “.“End IfElseE

43、xit SubEnd If27PointFlag = TrueText1.Text = StrNum1Case 12 To 15FirstNum = TruePointFlag = False还原标记值If SignFlag ThenCall RunElseSignFlag = TrueStrNum2 = StrNum1StrNum1 = “End IfRunsign = Index - 11Case 11If Not SignFlag ThenText1.Text = StrNum1equal = Val(StrNum1)FirstNum = TruePointFlag = FalseEls

44、eCall RunSignFlag = FalseEnd If28Case ElseCall ClearDataEnd SelectEnd SubPrivate Sub Form_Load()Call ClearDataEnd Sub 补充说明 按钮还有两个重要的属性 Default(默认属性)和 Cancel(取消属性),两个属性都以布尔赋值,把 Default 设为 True,则在按下回车键时,不论焦点处于何处,都会触发该按钮的 Click 事件,而当 Cancel 属性被设为True,在按下 ESC 键时,该按钮的 Click 属性发生。下面举个例子: 建立一个新窗体和两个按钮,Name

45、 属性分别为 cmdOK 和 cmdCancel,把前者的 Default 设为 True,后者的 Cancel 设为 True,Caption 属性分别为OK 和 Cancel。如图 48。填写代码后运行:Private Sub cmdCancel_Click()MsgBox “Cancel 按钮被按下“, vbDefaultButton1, “提示“End Sub29Private Sub cmdOK_Click()MsgBox “OK 按钮被按下“, vbDefaultButton1, “提示“End Sub结果如图 49、410:快捷键大家一定都知道,在 VB 如何实现呢。其实很简单,

46、在刚才的例子里在建立一个按钮 Command1,把它的 Caption 属性设为 Click &ME,如图411,在 M 的下面有一条下划线,运行程序,当你按下 Alt+M 的时候就触发了 Command1_Click 事件:Private Sub Command1_Click()MsgBox “Click ME 按钮被按下“, vbDefaultButton1, “提示“End Sub据我所知,有许多用户有使用快捷键的习惯,注意细节上的问题能够使将来你的程序得到更多人的欣赏,不是吗? 第五章 菜单我们经常在 Windows 操作里遇到各种各样的菜单,菜单的操作把各种命令结构化、分分类化,也节

47、省了命令所占的空间,从作用上来讲,菜单类似于按钮,但它只有一个事件Click。VB 作为 Windows 下的可视编程工具,菜单的设计当然很容易实现,VB3.0 按下 Ctrl+M,VB4.0 以上的版本请按下 Ctrl+E,便可呼叫出菜设计的窗口,无论 VB 的版本,这个窗口的样式是大同小异的,请见图 51。30前面说过,菜单相当于简单的按钮,它有几个属性,其中的大部分我们都曾经见过,包括Name、Caption、Index、Checked、Enabled、Visible、快捷键和热键等等。其中 Name 是必须的。下面请跟我一起设计第一个菜单。首先在 Caption 添入“文件”,Name 为“mnuFile”,按下 Next 按钮,这样就建立了第一级菜单,注意菜单设计窗口的左中有四个箭头,按下向右的箭头,出现了一排小点,如图 52,在 VB 里这叫缩排,这样就可以开始建立第二级菜单。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报