第2章-VB可视化界面设计_第1页
第2章-VB可视化界面设计_第2页
第2章-VB可视化界面设计_第3页
第2章-VB可视化界面设计_第4页
第2章-VB可视化界面设计_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Saturday, December Saturday, December 25, 202125, 2021Visual BasicVisual Basic 程序设计实例教程程序设计实例教程第第2章章 VB可视化界面设计可视化界面设计 本章目录本章目录2第第2章章 VB可视化界面设计可视化界面设计 2.1 导学案例导学案例2.2 面向对象基本的概念面向对象基本的概念2.3 窗体和基本控件窗体和基本控件2.4 综合应用综合应用2.5 扩展与提高扩展与提高本章目录本章目录32.1 导学案例导学案例【例例2.1】编一个大小写转换的程序编一个大小写转换的程序,单击单击“转换为小转换为小写写”按钮把左边

2、文本框输入的字符串中的字母全部按钮把左边文本框输入的字符串中的字母全部转换为小写转换为小写,单击单击“转换为大写转换为大写”按钮把左边文本框按钮把左边文本框输入的字符串中的字母全部转换为大写输入的字符串中的字母全部转换为大写,转换结果在转换结果在右边文本框中显示。运行界面如下图所示。右边文本框中显示。运行界面如下图所示。 本章目录本章目录4设计步骤如下设计步骤如下:(1)界面设计)界面设计第一步第一步:改变窗口标题名。实现方法是把窗体改变窗口标题名。实现方法是把窗体的的Caption属性设置为属性设置为“大小写转换大小写转换”。第二步第二步:在窗体上画两个文本框在窗体上画两个文本框,分别用于接

3、收分别用于接收用户输入的原始字符串和显示转换后的字符用户输入的原始字符串和显示转换后的字符串。串。第三步第三步:在窗体上画两个标签用于显示提示信在窗体上画两个标签用于显示提示信息息,设置它们的设置它们的Caption属性分别为属性分别为“原始字原始字符串:符串:”和和“转换后的字符串:转换后的字符串:”。第四步:在窗体上画三个命令按钮第四步:在窗体上画三个命令按钮,设置它们设置它们的的Caption属性分别为属性分别为“转换为小写转换为小写”、“转换为大写转换为大写”和和“退出退出”。本章目录本章目录5(2)编写事件过程代码如下)编写事件过程代码如下:Private Sub Command1_

4、Click() Dim f$, c$ 使用变量使用变量 f = Text1.Text c = LCase(f) Text2.Text = cEnd SubPrivate Sub Command2_Click() Text2.Text = UCase(Text1.Text) 不使用变量不使用变量,直接使用文本框直接使用文本框End SubPrivate Sub Command3_Click() EndEnd Sub本章目录本章目录6说明说明:界面设计目的界面设计目的就是使计算机能与用户就是使计算机能与用户进行如下交流进行如下交流:显示相关信息和程显示相关信息和程序运行的结果序运行的结果;接收用户

5、输入的数接收用户输入的数据和命令。在据和命令。在VB中中,窗体是最基本的窗体是最基本的对象对象,一个应用程序都包含有窗体对一个应用程序都包含有窗体对象。控件也是象。控件也是VB的对象的对象,它们和窗体它们和窗体是应用程序的是应用程序的“积木块积木块”,共同构成,共同构成用户界面。用户界面。 本章目录本章目录7本例中用到几个常用界面元素及其作用本例中用到几个常用界面元素及其作用:(1)窗体)窗体Form:窗体是任何一个应用程序必不可少窗体是任何一个应用程序必不可少的对象的对象,因为窗体是其他对象的载体因为窗体是其他对象的载体,各类控件对象必各类控件对象必须建立在窗体上须建立在窗体上;窗体就如一块

6、窗体就如一块“画布画布”,是所有控件是所有控件的容器,用户可以根据自己的需要利用工具箱上的的容器,用户可以根据自己的需要利用工具箱上的控件在控件在“画布画布”上上“画画”界面。界面。(2)标签)标签Label的作用是显示信息。的作用是显示信息。在例在例2.1中分别中分别显示显示“原始字符串原始字符串:”和和“转换后的字符串转换后的字符串:”的提示的提示信息,让用户对界面的操作更加明了。信息,让用户对界面的操作更加明了。(3)文本框)文本框Text用于显示和接收数据。用于显示和接收数据。如例如例2.1中中左边的文本框左边的文本框Text1用于接收用户输入要转化的字用于接收用户输入要转化的字符串,

7、右边的文本框符串,右边的文本框Text2显示转化后的字符串。显示转化后的字符串。(4)命令按钮)命令按钮Command用于驱动相关命令(事件用于驱动相关命令(事件过程代码)的执行。过程代码)的执行。例如,在例例如,在例2.1中单击中单击“退出退出”按钮时驱动事件过程代码按钮时驱动事件过程代码End的执行,结束程序的的执行,结束程序的运行。运行。本章目录本章目录82.2 面向对象基本的概念面向对象基本的概念 2.2.1 对象对象对象是客观世界中的事物或人们头脑中的各种概念对象是客观世界中的事物或人们头脑中的各种概念在计算机程序中的抽象表示在计算机程序中的抽象表示,或者说或者说,是现实世界中是现实

8、世界中个体的数据抽象模型个体的数据抽象模型,是面向对象程序设计的基本元是面向对象程序设计的基本元素。素。 一本书、一家图书馆、一辆汽车等都是一个对象一本书、一家图书馆、一辆汽车等都是一个对象;一份报表、一个账单也是一个对象。可见,世界上一份报表、一个账单也是一个对象。可见,世界上的各个事物都是由各种的各个事物都是由各种“对象对象”组成的,任何事物组成的,任何事物都是对象,是某一个对象类的一个实例。每个对象都是对象,是某一个对象类的一个实例。每个对象都有自己的特征、行为和发生在该对象上的一切活都有自己的特征、行为和发生在该对象上的一切活动。如以某个动。如以某个“学生学生”作为对象,该对象具有姓名

9、、作为对象,该对象具有姓名、学号、性别、身高、体重、年龄等特征。具有学习、学号、性别、身高、体重、年龄等特征。具有学习、行走、睡觉等行为,以及外界作用在行走、睡觉等行为,以及外界作用在“学生学生”对象对象上的各种活动,如上课铃响、放学等。上的各种活动,如上课铃响、放学等。 本章目录本章目录92.2.2 属性属性属性是一个对象的特性属性是一个对象的特性,不同的对象有不同的属不同的对象有不同的属性。性。VB程序中的对象都有许多属性程序中的对象都有许多属性,它们是用它们是用来描述和反映对象特征的参数。例如来描述和反映对象特征的参数。例如,控件名控件名称(称(Name)、标题()、标题(Caption

10、)、文本)、文本(Text)、颜色()、颜色(Color)、字体()、字体(Font)、)、是否可见(是否可见(Visible)等属性决定了对象展现)等属性决定了对象展现给用户的界面具有什么样的外观及功能。给用户的界面具有什么样的外观及功能。同类对象的属性是一样的,也就是具有相同的同类对象的属性是一样的,也就是具有相同的属性属性 。如人如人,具有相同的属性,区别不同的,具有相同的属性,区别不同的人,也就是不同的对象,就在于属性值的不同。人,也就是不同的对象,就在于属性值的不同。 本章目录本章目录10对象属性的设置对象属性的设置除了用属性窗口设置对象属性外除了用属性窗口设置对象属性外,也可以在也

11、可以在程序中用程序语句设置程序中用程序语句设置,一般格式如下一般格式如下:对象名对象名.属性名属性名=属性值属性值例如例如,给一个对象名为给一个对象名为Command1的命令的命令按钮的按钮的Caption属性赋值为属性赋值为“确定确定”,其,其在程序代码中的书写形式为在程序代码中的书写形式为:Command1. Caption=确定确定本章目录本章目录112.2.3 事件、事件过程和事件驱动事件、事件过程和事件驱动 VB是采用事件驱动编程机制的语言。是采用事件驱动编程机制的语言。传统编程使用的是面向过程、按顺序传统编程使用的是面向过程、按顺序进行的机制进行的机制,这种编程方式的缺点是这种编程

12、方式的缺点是写程序的人总是要关心什么时候发生写程序的人总是要关心什么时候发生什么事情。而在事件驱动编程中什么事情。而在事件驱动编程中,程程序员只要编写响应用户动作的程序序员只要编写响应用户动作的程序,如选择命令、移动鼠标等,而不必考如选择命令、移动鼠标等,而不必考虑按精确次序执行的每个步骤。虑按精确次序执行的每个步骤。 本章目录本章目录121. 事件事件对于对象而言对于对象而言,事件(事件(Event)就是)就是VB预先设置好预先设置好的能够被对象识别的动作的能够被对象识别的动作。不同的对象能够识别。不同的对象能够识别的事件不一样的事件不一样,同一事件同一事件,作用于不同的对象,就作用于不同的

13、对象,就会引发不同的响应,产生不同的结果。例如,在会引发不同的响应,产生不同的结果。例如,在学校,教学楼的铃声是一个事件,教师听到铃声学校,教学楼的铃声是一个事件,教师听到铃声就要开始讲课,向学生传授知识就要开始讲课,向学生传授知识;学生听到铃声,学生听到铃声,就要准备上课,接受知识就要准备上课,接受知识;若行政人员不受影响,若行政人员不受影响,就可不予响应。就可不予响应。在在VB中,系统已为每个对象预先定义好了一系列中,系统已为每个对象预先定义好了一系列的事件。的事件。例如例如Click(单击)、(单击)、DbClick(双(双击)、击)、Load(装入)、(装入)、MouseMove(移动

14、鼠(移动鼠标)、标)、Change(改变)等。(改变)等。本章目录本章目录132. 事件过程事件过程对象响应某个事件后所执行的操作通过一对象响应某个事件后所执行的操作通过一段程序代码来实现段程序代码来实现,这样的一段程序代码这样的一段程序代码叫做叫做事件过程事件过程(Event Procudure)。)。一个对象可以识别一个或多个事件一个对象可以识别一个或多个事件,因此因此可以使用一个或多个事件过程对用户或系可以使用一个或多个事件过程对用户或系统的事件做出响应。虽然一个对象可以拥统的事件做出响应。虽然一个对象可以拥有许多事件过程有许多事件过程,但并不需要为每一个事但并不需要为每一个事件都编写程

15、序,仅当需要时才在相应的事件都编写程序,仅当需要时才在相应的事件过程中填写代码,在程序中使用多少事件过程中填写代码,在程序中使用多少事件过程,要由设计者根据程序的具体要求件过程,要由设计者根据程序的具体要求来确定来确定 。本章目录本章目录14VB事件过程的一般格式如下事件过程的一般格式如下:Private Sub 对象名称对象名称_事件名称事件名称(参数列表参数列表) 事件响应程序代码事件响应程序代码End Sub本章目录本章目录153. 事件驱动事件驱动VB是事件驱动程序设计方式。是事件驱动程序设计方式。 程序执行程序执行后系统等待某个事件的发生后系统等待某个事件的发生,然后去执行然后去执行

16、处理此事件的事件过程处理此事件的事件过程,待事件过程执行待事件过程执行完后完后,系统又处于等待某事件发生的状态,系统又处于等待某事件发生的状态,这程序员只需要编写响应用户动作的程序,这程序员只需要编写响应用户动作的程序,如选择命令、移动鼠标等,而不必考虑按如选择命令、移动鼠标等,而不必考虑按精确次序执行的每个步骤。用户对事件驱精确次序执行的每个步骤。用户对事件驱动的顺序决定了代码执行的顺序,因此应动的顺序决定了代码执行的顺序,因此应用程序每次运行所经历的代码路径可能不用程序每次运行所经历的代码路径可能不同。同。本章目录本章目录16对象、事件和事件过程之间的关系如下图所示对象、事件和事件过程之间

17、的关系如下图所示:本章目录本章目录172.2.4 方法方法方法就是控件所能做的行动方法就是控件所能做的行动,就象人一就象人一样样,唱歌、跳舞都是人的行动。而唱歌、跳舞都是人的行动。而属属性就类似于人的外貌特征性就类似于人的外貌特征。方法是附方法是附属于对象的行为和动作属于对象的行为和动作,也可以理解也可以理解为指使对象动作的指令。为指使对象动作的指令。面向对象的面向对象的程序设计语言,为程序设计人员提供程序设计语言,为程序设计人员提供了一种特殊的过程,称为方法供用户了一种特殊的过程,称为方法供用户直接调用,这给用户的编程带来了很直接调用,这给用户的编程带来了很大的方便。大的方便。 本章目录本章

18、目录18对象方法调用格式为对象方法调用格式为:对象对象.方法方法参数列表参数列表例如例如:Form1.Print Good morning!可以在名为可以在名为“Form1”的窗体上显示字符串的窗体上显示字符串“Good morning!”。在。在VB中中,打印机的对象名为打印机的对象名为Printer,如如果执行果执行:Printer.Print Good morning!则在打印机上打印出字符串则在打印机上打印出字符串“Good morning!”。 上面两条指令使用的是同一个方法上面两条指令使用的是同一个方法,但由于对象不同,但由于对象不同,执行操作的设备也不一样。在调用方法时,可以省略

19、执行操作的设备也不一样。在调用方法时,可以省略对象名。在这种情况下,对象名。在这种情况下,VB所调用的方法作为当前所调用的方法作为当前对象的方法,一般把当前窗体作为当前对象。对象的方法,一般把当前窗体作为当前对象。 本章目录本章目录192.2.5 控件控件1、控件的命名(表、控件的命名(表2-2 )每个窗体和控件都有一个名字每个窗体和控件都有一个名字,这个名字这个名字就是窗体或控件的就是窗体或控件的Name属性值。一属性值。一般情况下般情况下,窗体和控件都有默认值窗体和控件都有默认值,如如Form1、Command1、Text1等。等。 2、控件的画法、控件的画法3、控件的基本操作、控件的基本

20、操作:选择选择 、复制和删除、复制和删除 、缩放和移动和多个控件的对齐与调整缩放和移动和多个控件的对齐与调整 4、控件属性设置、控件属性设置本章目录本章目录202.3 窗体和基本控件窗体和基本控件 2.3.1控件的公共属性控件的公共属性Name属性属性 (属性窗口中的属性窗口中的“名称名称”)Caption属性属性Enable属性属性Visible属性属性Left、Top、Height、Width属性属性BackColor、ForeColor属性属性FontName、FontSize、FontBold、FontItalic、FontStrikethru、FontUnderline属性属性Fon

21、t对象属性对象属性MousePointerMouseIcon属性属性本章目录本章目录212.3.2窗体窗体一个窗体对应一个窗体模块。一个应一个窗体对应一个窗体模块。一个应用程序包含一个或多个窗体模块。用程序包含一个或多个窗体模块。VB的窗体结构同的窗体结构同Windows环境下的环境下的窗口十分类似。在程序运行前窗口十分类似。在程序运行前,即设即设计阶段计阶段,称为窗体称为窗体;程序运行后也可以程序运行后也可以称为窗口。窗体由称为窗口。窗体由5部分组成部分组成,如图如图2-6所示。所示。 本章目录本章目录22本章目录本章目录231、窗体主要属性、窗体主要属性(1)Caption属性属性(2)P

22、icture属性属性(3)MaxButton、MinButton最大、最大、最小化按钮属性最小化按钮属性(4)Icon图标和图标和ControlBox控制菜控制菜单框属性单框属性(5)BorderStyle属性属性本章目录本章目录242、窗体事件、窗体事件(1)Click(单击)事件(单击)事件(2)Load(装入)事件(装入)事件3、窗体的方法、窗体的方法(1)Print方法方法(2)Move方法方法(3)Cls 方法方法本章目录本章目录25【例例2.2】窗体的窗体的Click、DblClick和和Load事件以及事件以及Cls、Print方法和相关属性的使用。运行界面如图方法和相关属性的使

23、用。运行界面如图2-7所示。所示。本章目录本章目录26属性设置属性设置:在属性窗口中对窗体的在属性窗口中对窗体的MaxButton和和MinButton的值都设为的值都设为False,Picture属性值设置为学校图属性值设置为学校图标图片标图片Gxgxy1.bmp文件。文件。 本章目录本章目录27例例2.2程序代码如下程序代码如下:Private Sub Form_Click() Caption = 鼠标单击鼠标单击 Picture = LoadPicture(App.Path + gxgxy2.bmp) 加载图片加载图片 Print 欢迎使用欢迎使用VBEnd SubPrivate Sub

24、 Form_DblClick() Cls Caption = 鼠标双击鼠标双击 Picture = LoadPicture() 删除图片删除图片 Print 结束使用结束使用VBEnd Sub本章目录本章目录28例例2.2 程序代码如下程序代码如下:Private Sub Form_Load() FontSize = 40 FontBold = True Caption = 装入图片装入图片End Sub本章目录本章目录29说明说明:(1)App.Path表示装入的图片文件与应用程表示装入的图片文件与应用程序在同一个文件夹序在同一个文件夹,若运行时无该文件若运行时无该文件,系统会系统会显示显示

25、“文件未找到文件未找到”的信息的信息,用户可通过查找用户可通过查找文件的方法,并将所需文件复制到应用程序所文件的方法,并将所需文件复制到应用程序所作的文件夹。作的文件夹。(2)属性或方法前省略了对象,表示默认属)属性或方法前省略了对象,表示默认属性或方法作用于当前窗体对象。性或方法作用于当前窗体对象。(3)MaxButton和和MinButton属性只能在属属性只能在属性窗口设置。性窗口设置。(4)为了在)为了在Form_Load()事件中利用()事件中利用Print方法在窗体上显示文字,必须将方法在窗体上显示文字,必须将Form1窗体的窗体的AutoRedraw属性设置为属性设置为True。

26、本章目录本章目录302.3.3 命令按钮控件命令按钮控件CommandButton1. 命令按钮主要属性命令按钮主要属性(1)Caption属性属性表示按钮上显示的文字。如果某个字母前表示按钮上显示的文字。如果某个字母前加入加入“&”,则程序运行时标题中的该字则程序运行时标题中的该字母带下划线母带下划线,带有下划线的字母就成为带有下划线的字母就成为快捷键快捷键;当用户按下当用户按下Alt+该快捷键该快捷键,便可便可激活并操作该按钮。例如,在对某个激活并操作该按钮。例如,在对某个按钮设置其按钮设置其Caption属性时输入属性时输入&OK,程序运行时就会显示程序运行时就会显示OK

27、(如图(如图2-8),),当用户按下当用户按下Alt+O快捷键时便可激活快捷键时便可激活Command1_Click事件。事件。本章目录本章目录31(2)Style属性属性:表示按钮样式。表示按钮样式。0Standard:(默认)标准风格的命令控件(默认)标准风格的命令控件,它既它既不支持背景颜色不支持背景颜色BackColor,也不支持图片属性也不支持图片属性Picture,按钮上不能显示图形。按钮上不能显示图形。1Graphical:“图形显示图形显示”风格控件,它既能设风格控件,它既能设置置BackColor,也能设置,也能设置Picture属性,按钮上可以属性,按钮上可以显示图形也能显

28、示文字。显示图形也能显示文字。(3)Picture属性:属性:设置按钮上显示的图形文件设置按钮上显示的图形文件(.bmp和和.ico),为了使用这个属性,必须把),为了使用这个属性,必须把Style属性值必须设置为属性值必须设置为1,否则,否则Picture属性无效。属性无效。(4)ToolTipText属性:属性:设置按钮的提示文本。按设置按钮的提示文本。按钮若是图形,当运行时鼠标指向该按钮就加以文字钮若是图形,当运行时鼠标指向该按钮就加以文字提示。提示。 本章目录本章目录322. 命令按钮的常用事件命令按钮的常用事件命令按钮的常用事件是命令按钮的常用事件是Click事件。事件。3. 命令按

29、钮的方法命令按钮的方法命令按钮的方法主要有命令按钮的方法主要有SetFocus。该。该方法是把光标移到指定的命令按钮上。方法是把光标移到指定的命令按钮上。本章目录本章目录332.2.4 标签控件标签控件Label1.标签主要属性标签主要属性(1)AutoSize属性属性:决定决定Label控件是否调整自己控件是否调整自己的大小来适应文本。的大小来适应文本。True自动调整大小。自动调整大小。False保持原设计的大小保持原设计的大小,正文若太长自动剪掉。正文若太长自动剪掉。(2)WordWrap属性属性:当一行文本过长时自动换行。当一行文本过长时自动换行。 (略略)(3)BackStyle属性

30、属性:背景样式。背景样式。0(Transparent) 透明显示透明显示,控件后面若有其控件后面若有其他控件均可显示出来。他控件均可显示出来。1(Opaque)不透明不透明,此时可为控件设置背景颜此时可为控件设置背景颜色。色。本章目录本章目录34标签主要属性标签主要属性(4)BorderStyle属性属性:边框样式。边框样式。0(None)控件周围没有单边框。控件周围没有单边框。1(Fixed Single)控件带有单边框。控件带有单边框。(5)Alignment属性属性控件上标题(控件上标题(Caption)对齐方式)对齐方式,其中其中:0(Left Justify)左对齐。左对齐。1(Ri

31、ght Justify)右对齐。右对齐。2(Center)居中。居中。本章目录本章目录352. 标签的方法标签的方法 标签控件支持标签控件支持Move方法方法,用于实现标签的移用于实现标签的移动。动。 例如例如,设窗体上有一个标签控件设窗体上有一个标签控件Label1,运行运行时,单击该标签控件,使该标签控件向右移时,单击该标签控件,使该标签控件向右移动动500twip。可以通过如下代码实现。可以通过如下代码实现:Private Sub Label1_Click() Label1.Move Label1.left+500End Sub本章目录本章目录363. 标签的事件标签的事件标签经常响应的

32、事件有标签经常响应的事件有:单击单击(Click),双击(双击(DbleClick)和改)和改变(变(Change)。但实际上标签仅起)。但实际上标签仅起到在窗体上显示文字作用到在窗体上显示文字作用,因此因此,一般一般不需要编写事件过程。不需要编写事件过程。本章目录本章目录37【例例2.3】 编写一个如图编写一个如图2-10所示的简易的键所示的简易的键盘指法练习程序。单击盘指法练习程序。单击“开始开始”按钮按钮,进行指法进行指法练习练习,同时同时“开始开始”按钮变为按钮变为“结束结束”按钮。字按钮。字母在屏幕上向上移动母在屏幕上向上移动,输入正确则会消失,同时输入正确则会消失,同时随机产生新的

33、字母。要求能统计正确率、击键次随机产生新的字母。要求能统计正确率、击键次数和所用的时间。数和所用的时间。 本章目录本章目录38(1)界面设计)界面设计在窗体上添加在窗体上添加4个标签个标签,用于在屏幕上用于在屏幕上同时显示同时显示4个小写字母。个小写字母。1个命令按个命令按钮用于控制指法练习的开始和结束。钮用于控制指法练习的开始和结束。2个计时器。一个用于随机产生字母个计时器。一个用于随机产生字母和控制字母在窗体中移动和控制字母在窗体中移动,另一个用另一个用于计时。于计时。本章目录本章目录39(2)程序代码如下)程序代码如下:Dim m%, n%, t%Private Sub Command1

34、_Click() If Command1.Caption = 开始开始 Then Form1.Cls t = 0 Timer1.Enabled = True Timer2.Enabled = True Command1.Caption = 结束结束 Else Command1.Caption = 开始开始 Timer1.Enabled = False Timer2.Enabled = False If m 0 Then Print 正确率为正确率为: & n / m * 100 & % Print 击键次数击键次数: & m & 次次 & 共用时共用时:

35、 & t & 秒秒 End IfEnd Sub本章目录本章目录40Private Sub Command2_Click() EndEnd SubPrivate Sub Form_KeyPress(KeyAscii As Integer) m = m + 1 统计击键次数统计击键次数 If Chr(KeyAscii) = Label1.Caption Then Label1.Caption = “”: n = n + 1 End If If Chr(KeyAscii) = Label2.Caption Then Label2.Caption = “”: n = n + 1 End

36、 If If Chr(KeyAscii) = Label3.Caption Then Label3.Caption = “”: n = n + 1 End If If Chr(KeyAscii) = Label4.Caption Then Label4.Caption = “”: n = n + 1 End IfEnd Sub本章目录本章目录41Private Sub Timer1_Timer() Randomize If Label1.Caption = Then Label1.Top = Form1.ScaleHeight Label1.Caption = Chr(CInt(Rnd * 2

37、6) + 97) 随机产生一个小写字母随机产生一个小写字母 Else Label1.Top = Label1.Top - 20 End If If Label2.Caption = Then Label2.Top = Form1.ScaleHeight Label2.Caption = Chr(CInt(Rnd * 26) + 97) 随机产生一个小写字母随机产生一个小写字母 Else Label2.Top = Label2.Top - 20 End If 本章目录本章目录42If Label3.Caption = Then Label3.Top = Form1.ScaleHeight Lab

38、el3.Caption = Chr(CInt(Rnd * 26) + 97) Else Label3.Top = Label3.Top - 20 End If If Label4.Caption = Then Label4.Top = Form1.ScaleHeight Label4.Caption = Chr(CInt(Rnd * 26) + 97) Else Label4.Top = Label4.Top - 20 End IfIf Label1.Top=0 Then Label1.Top = Form1.ScaleHeightIf Label2.Top=0 Then Label2.Top

39、 = Form1.ScaleHeightIf Label3.Top=0 Then Label3.Top = Form1.ScaleHeightIf Label4.Top=0 Then Label4.Top = Form1.ScaleHeightEnd Sub本章目录本章目录43Private Sub Timer2_Timer() t = t + 1 计算练习时间计算练习时间End Sub本章目录本章目录442.3.5 文本框控件文本框控件TextBox所谓人机对话所谓人机对话,就是计算机能获知用户给它就是计算机能获知用户给它的信息的信息,同时同时,它也能作出相应的反馈,对它也能作出相应的反馈,

40、对于前者,我们除了用鼠标向计算机发出命于前者,我们除了用鼠标向计算机发出命令外,也常需要以键盘向计算机输入一些令外,也常需要以键盘向计算机输入一些内容,如键入用户的姓名、年龄、性别等。内容,如键入用户的姓名、年龄、性别等。文本框被用来显示用户输入的信息,是文本框被用来显示用户输入的信息,是Windows操作系统下进行人机对话的常操作系统下进行人机对话的常用元素。用元素。在在VB编程中,文本框是一个文编程中,文本框是一个文本编辑区域,类似于一个简单的文本编辑本编辑区域,类似于一个简单的文本编辑器,可以在这个区域中输入、编辑、修改器,可以在这个区域中输入、编辑、修改和显示文本和显示文本 。本章目录

41、本章目录451. 文本框主要属性文本框主要属性(1) Text属性属性:设置文本框中显示的内容。设置文本框中显示的内容。(2) MultiLine属性属性:设置控件是否可以接受多行文本。设置控件是否可以接受多行文本。False(默认值)(默认值),在文本框中只能输入单行文本在文本框中只能输入单行文本;True时时,可以使用多行文本可以使用多行文本,即在文本框中输入或输出即在文本框中输入或输出文本时可以换行,并在下一行接着输入或输出。按文本时可以换行,并在下一行接着输入或输出。按Ctrl+Enter键可以插入一个空行。键可以插入一个空行。(3) ScrollBars属性属性:设置控件是否具有水平

42、或垂直滚设置控件是否具有水平或垂直滚动条。动条。0 文本框中没有滚动条文本框中没有滚动条1 只有水平滚动条只有水平滚动条2 只有垂直滚动条只有垂直滚动条3 同时具有水平和垂直滚动条同时具有水平和垂直滚动条注意注意:当当MultiLine属性为属性为True时时,它才起作用。它才起作用。此外此外,当在文本框中加入水平滚动条(或同时当在文本框中加入水平滚动条(或同时具有水平和垂直滚动条)后具有水平和垂直滚动条)后,文本框中文本的文本框中文本的自动换行功能将不起作用,只能通过回车键自动换行功能将不起作用,只能通过回车键或或Ctrl+Enter键换行键换行本章目录本章目录461. 文本框主要属性文本框

43、主要属性(4) PassWordChar属性属性以特定的字符来代替控件中的文本字符以特定的字符来代替控件中的文本字符,这这个属性很适合设置密码对话框。个属性很适合设置密码对话框。 (5) Locked属性属性设置文本框内容在运行时是否可以被用户编设置文本框内容在运行时是否可以被用户编辑。当设置值为辑。当设置值为False(默认值)时(默认值)时,可以可以编辑文本框中的文本编辑文本框中的文本;当设置值为当设置值为True时时,可以滚动和选择文本框中的文本,但不能可以滚动和选择文本框中的文本,但不能编辑。编辑。 本章目录本章目录472. 文本框的常用事件文本框的常用事件 (1)Change事件事件

44、当用户向文本框输入新的内容当用户向文本框输入新的内容,或在程序代码中对或在程序代码中对文本框的文本框的Text属性进行赋值从而改变了文本框的属性进行赋值从而改变了文本框的Text属性时属性时,将触发将触发Change事件。程序运行后事件。程序运行后,在文本框中每输入一个字符,就会引发一次在文本框中每输入一个字符,就会引发一次Change事件。事件。(2)GotFocus事件事件当运行用当运行用Tab键或鼠标单击对象,或用键或鼠标单击对象,或用SetFocus方法设置焦点时,触发该事件,称之为方法设置焦点时,触发该事件,称之为“获得焦获得焦点点”,该事件适用于窗体和大部分可接受键盘输,该事件适用

45、于窗体和大部分可接受键盘输入的控件。当文本框获得焦点(即处于活动状态)入的控件。当文本框获得焦点(即处于活动状态)时,键盘上输入的每个字符都将在该文本框中显时,键盘上输入的每个字符都将在该文本框中显示出来。只有当一个文本框被激活并且可见性示出来。只有当一个文本框被激活并且可见性Visible属性值为属性值为True时,才能接收到焦点。时,才能接收到焦点。本章目录本章目录482. 文本框的常用事件文本框的常用事件(3)LostFocus事件事件当按下当按下Tab键使光标离开当前对象键使光标离开当前对象,或者用鼠标选或者用鼠标选择窗体的其他对象择窗体的其他对象,即焦点离开文本框时触发该即焦点离开文

46、本框时触发该事件事件,称之为称之为“失去焦点失去焦点”。用。用Change事件和事件和LostFocus事件过程都可以检查文本框的事件过程都可以检查文本框的Text属性值,但后者更有效。属性值,但后者更有效。(4)KeyPress事件事件当在键盘上按下某个键时触发该事件,当在键盘上按下某个键时触发该事件,KeyPress事件返回一个参数事件返回一个参数KeyAscii,该参,该参数值为整数,表示所按下键的数值为整数,表示所按下键的ASCII码值。码值。 本章目录本章目录493. 文本框的方法文本框的方法SetFocus方法是文本框中较常用的方方法是文本框中较常用的方法法,格式如下格式如下:对象

47、对象. SetFocus该方法可以把焦点移动到指定的文本该方法可以把焦点移动到指定的文本框中。当在窗体上建立了多个文本框框中。当在窗体上建立了多个文本框后后,可以用该方法把光标置于所需要可以用该方法把光标置于所需要的文本框。的文本框。本章目录本章目录50Label与与TextBox的区别的区别:Label控件不能由用户直接对其进行编辑控件不能由用户直接对其进行编辑,这是它这是它与文本框控件最显著的区别。另外与文本框控件最显著的区别。另外,label控件有控件有一个一个BackStyle属性属性,当其值为当其值为0时,控件呈透明时,控件呈透明显示。而显示。而TextBox控件则没有此属性。从人机

48、对控件则没有此属性。从人机对话的角度来看,对于大多数话的角度来看,对于大多数VB程序,都用文本框程序,都用文本框控件来接受信息,而用标签框控件来向用户反馈控件来接受信息,而用标签框控件来向用户反馈信息。信息。并不是每种控件都能够得到焦点,如并不是每种控件都能够得到焦点,如Label控件,控件,由于它只显示文本,而不能由用户对其编辑操作,由于它只显示文本,而不能由用户对其编辑操作,所以就不具有焦点。当所以就不具有焦点。当TextBox控件获得焦点时,控件获得焦点时,所显示的是文本框中有一个闪烁的小光标。所显示的是文本框中有一个闪烁的小光标。TextBox有一个方法有一个方法SetFocus,而,

49、而Label控控件则没有。件则没有。 TextBox无无caption本章目录本章目录51【例例2.4】 简单密码程序。程序运行界面简单密码程序。程序运行界面如图如图2-11所示。所示。 本章目录本章目录52分析分析:在默认情况下在默认情况下,PasswordChar属性值属性值为空字符串为空字符串,键盘上输入的字符与文键盘上输入的字符与文本框中显示出来的字符是一致的。如本框中显示出来的字符是一致的。如果把该属性设置为某个字符果把该属性设置为某个字符,例如例如“*”,则无论从键盘上输入什么字,则无论从键盘上输入什么字符,文本框中显示的总是符,文本框中显示的总是“*”,这,这样可以使人看不到输入

50、的密码,便于样可以使人看不到输入的密码,便于保密。保密。 本章目录本章目录53程序代码如下程序代码如下:Private Sub Command1_Click() If Text1.Text = 123456 Then Text2.Text = 密码正确密码正确,继续继续 Else Text2.Text = 密码错误密码错误,重新输入重新输入 End IfEnd SubPrivate Sub Command2_Click() Text1.Text = Text2.Text = Text1.SetFocusEnd Sub本章目录本章目录542.4 综合应用综合应用 【例例2.5】建立一个计算机等级

51、考试报名登记建立一个计算机等级考试报名登记界面。窗体上有界面。窗体上有5个标签、个标签、3个文本框、个文本框、3个个命令按钮。其中文本框命令按钮。其中文本框1中输入姓名中输入姓名,文本框文本框2中输入班级中输入班级,文本框文本框3中输入等级中输入等级,标签标签5上将上将考生的信息全部显示出来。程序运行界面如考生的信息全部显示出来。程序运行界面如图图2-12所示。所示。本章目录本章目录55分析分析:本题的难点在于如何将本题的难点在于如何将3个文本框中个文本框中的内容连接起来的内容连接起来,以作为标签以作为标签5的的Caption属性值。这里引入一个字符属性值。这里引入一个字符型变量型变量str,

52、用来存放字符串连接运算用来存放字符串连接运算的结果的结果,Chr(10)表示产生换行符。表示产生换行符。 本章目录本章目录56程序代码如下程序代码如下:Private Sub CmdClean_Click()Text1.Text = Text2.Text = Text3.Text = Label5.Caption = End SubPrivate Sub CmdExit_Click()EndEnd SubPrivate Sub CmdOK_Click()Dim str As Stringstr = “姓名姓名” + Text1.Text + Chr(10) + “班级班级” + Text2.T

53、ext + _ 图图2-13 例例2.6运行界面运行界面Chr(10) + 等级等级 +Text3.TextLabel5.Caption = strEnd Sub本章目录本章目录57【例例2.6】设计一个模拟抽奖的程序设计一个模拟抽奖的程序,其界面如图其界面如图2-13所示。要求单击所示。要求单击“开始开始”按钮按钮,则不停的随机产生两位则不停的随机产生两位数的数字数的数字;单击单击“抽奖抽奖”按钮按钮,则确定中奖数字。则确定中奖数字。本章目录本章目录58分析分析:随机数是通过随机函数来产生的随机数是通过随机函数来产生的,要不断地要不断地产生产生,则要用计时器控件来控制则要用计时器控件来控制,

54、设置计时设置计时器对象的器对象的Interval属性值,定期产生随机属性值,定期产生随机数。要实现单击数。要实现单击“开始开始”按钮,再产生,按钮,再产生,则则Timer对象的对象的Enable属性设置初始为属性设置初始为False,单击,单击“开始开始”按钮后,该属性设按钮后,该属性设置为置为True。单击。单击“抽奖抽奖”按钮,则会再按钮,则会再产生随机数,此时表明产生随机数,此时表明Timer对象的对象的Enable属性又改为属性又改为False了。了。 本章目录本章目录59程序代码如下程序代码如下:Private Sub Command1_Click() Timer1.Enabled

55、= True Command2.Enabled = True Command1.Enabled = FalseEnd SubPrivate Sub Command2_Click() Timer1.Enabled = False Text1.Text = Label2.Caption + _ + Label3.Caption + + Label4.Caption _ + Label5.Caption + + Label6.Caption Command2.Enabled = False Command1.Enabled = True Command3.Enabled = TrueEnd Sub

56、本章目录本章目录60程序代码如下程序代码如下:Private Sub Command3_Click() EndEnd SubPrivate Sub Timer1_Timer() Randomize Label2.Caption = Fix(Rnd * 90) + 10 调调用随机数函数用随机数函数Rnd产生随机数产生随机数 Label3.Caption = Fix(Rnd * 90) + 10 Label4.Caption = Fix(Rnd * 90) + 10 Label5.Caption = Fix(Rnd * 90) + 10 Label6.Caption = Fix(Rnd * 90

57、) + 10End Sub本章目录本章目录612.5 扩展与提高扩展与提高2.5.1窗体的进一步讨论窗体的进一步讨论1. 属性属性(1)Icon属性属性:设置窗体标题栏上的图标。设置窗体标题栏上的图标。(2)WindowsState属性属性:表示窗体执行时表示窗体执行时以什么状态显示。以什么状态显示。0Normal:正常窗口状态正常窗口状态,有窗口边界。有窗口边界。1Minimized:最小化状态:最小化状态,以图标方式运行。以图标方式运行。2Maximized:最大化状态:最大化状态,无边框,充满整无边框,充满整个屏幕。个屏幕。本章目录本章目录622. 窗体事件窗体事件(1)Unload事件

58、事件在卸载一个窗体时触发在卸载一个窗体时触发Unload事件。事件。Unload事事件可以由用户触发。例如单击窗体的关闭按钮件可以由用户触发。例如单击窗体的关闭按钮,将触发将触发Unload事件。格式如下事件。格式如下:Private Sub Form_Unload()End SubUnload事件是与事件是与Load事件相对应的事件。事件相对应的事件。Unload事件会卸载一个窗体事件会卸载一个窗体,同时可以为用户同时可以为用户提供存盘等信息。提供存盘等信息。本章目录本章目录63(2)Initialize事件事件在窗体创建时发生在窗体创建时发生Initialize事件事件,这这是程序运行时发

59、生的第一个事件是程序运行时发生的第一个事件,它它发生在发生在Load事件之前。事件之前。Initialize事件的作用主要是初始化变事件的作用主要是初始化变量。格式如下量。格式如下:Private Sub Form_Initialize()End Sub本章目录本章目录64(3)Activate(活动)、(活动)、Deactivate(非活动)事件(非活动)事件当窗体变成活动窗口时触发当窗体变成活动窗口时触发Activate事件事件,而在另一个窗体变为活动窗口前触发而在另一个窗体变为活动窗口前触发Deactivate事件。通过操作可以把窗体事件。通过操作可以把窗体变为活动窗体变为活动窗体,例如

60、单击窗体或在程序中例如单击窗体或在程序中执行执行Show方法等。方法等。(4)Paint (绘画)事件(绘画)事件当窗体被移动或放大时当窗体被移动或放大时,或者窗口移动时覆或者窗口移动时覆盖了一个窗体时,触发该事件。盖了一个窗体时,触发该事件。本章目录本章目录653. 向窗体输出数据向窗体输出数据(1)向窗体输出数据的格式设置)向窗体输出数据的格式设置向窗体输出数据的格式主要通过向窗体输出数据的格式主要通过Format()函数()函数确定确定;向窗体输出数据的字体、大小由向窗体输出数据的字体、大小由Font属性属性项设置项设置,也可在程序运行时也可在程序运行时,用程序代码设置。用用程序代码设置。用程序代码设置字体和字号的格式如下程序代码设置字体和字号的格式如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论