1、本章要点:属性、事件和方法的概念窗体的常用属性窗体的常用方法事件多窗体设计7.1 属性、事件和方法的概念 7.1.1 属性(Property)对象中的数据、所有对象都有自己的属性。属性是用来描述和反映对象特征的参数。例如:控件名称(Name)、标题(Caption)、颜色(Color)、字体(FontName)等属性决定了对象展现给用户的界面具有什么样的外观及功能。7.1.2 事件(Event)所谓事件,是由Visual Basic预先设置好的、能够被对象识别的动作,例如Click(单击)、DblClick(双击)、Load(装入)、KeyDown(键盘键按下)、MouseMove(移动鼠标)
2、等。7.1 属性、事件和方法的概念 7.1.3 方法(Method)方法对我们来说也并不陌生,在前面的许多例子中接触过。所谓“方法”实际上是VB提供的一种特殊的子程序,用来完成一定的操作。例如VB提供了一个名为Print的方法,它是用来输出信息的专用过程。调用“方法”的形式与调用一般的过程或函数不同,应该指明是哪个对象调用的。其调用格式如下:对象名称.方法名称例如:Form1.print VB程序设计7.1 属性、事件和方法的概念 7.1.4 属性、方法和事件之间的关系 Visual Basic的窗体和控件是具有自己的属性、方法和事件的对象。可以把属性看作一个对象的性质,把方法看作对象的动作,
3、把事件看作对象的响应。日常生活中的对象,如运动员手中的篮球同样具有属性、方法和事件。如果对篮球编程,其Visual Basic代码如下所示,其作用是设置篮球的属性。Basketball.Color=GreenBasketball.Radius=15Basketball.Inflated=True7.1 属性、事件和方法的概念调用篮球的方法是这样的:Basketball.InflatedBasketball.ColorBasketball.Radius篮球对一个事件的响应如下所示:Sub Basketball_Puncture()Basketball.DeflateBasketball.Make
4、Noise BangBasketball.Inflated=FalseBasketball.Radius=1End Sub7.1 属性、事件和方法的概念属 性名 称说 明Apearance 外形这个属性用来决定控件是否采用三维效果BackColor窗 体 背景色可以从属性框里弹出调色板,选择所需要的颜色BorderStyle边 框 风格这个属性决定了窗体边框的样式,共有6种属性值;改变窗体的BordrStyle属性后,窗体在屏幕上没有变化,它只在运行时才变为所要求的样子Caption窗 体 标题出现在窗体标题栏中的文本内容ControlBox控 件 按钮用来决定是否采用控件框的属性,仅在程序运
5、行时才有效Enabled活动性默认值为True,决定窗体能否被访问7.2 窗体的常用属性属 性名 称说 明ForeColor窗体前景色窗体上打印文字的颜色Font字体用来改变该窗体上显示信息的字体、字型和字号,它控制着直接在窗体上打印的文本显示Name窗体名称系统识别窗体的标识名,一个窗体名必须以一个字母开头,可包含数字和下划线,但不能包含空格和标点符号Icon窗体图标这个属性是用户经常要使用的一种属性;当用户的应用程序在工具条上最小化或在Windows桌面上变为一个独立应用程序时,该属性决定将采用何种图标,窗体控制框里的图标也由它决定7.2 窗体的常用属性属 性名 称说 明Left、Top、
6、Height、Width左 边 距、顶 边 距、高 度、宽度决定窗体在屏幕上的位置及窗体大小Visible可见性该属性决定窗体是否可见,默认情况下是可见的;错误地改变其值是很危险的,窗体会从眼前消失WindowState窗体状态指定窗体在运行时的三种状态:正常、最小化、最大化7.2 窗体的常用属性1.Hide方法 作用:用以隐藏MDIForm或Form对象,一般应用于多窗体中。格式:对象.Hide 说明:(1)Hide方法的语法中“对象”是可选的。它可以是一个对象表达式,其值为“应用于”列表中的一个对象。如果省略“对象”,则带有焦点的窗体缺省为“对象”。7.3 窗体的常用方法 (2)隐藏窗体时
7、,它就从屏幕上被删除,并将其Visible属性设置为False。用户将无法访问隐藏窗体上的控件,但是对于运行中的Visual Basic应用程序,或对于通过DDE与该应用程序通讯的进程及对于Timer控件的事件,隐藏窗体的控件仍然是可用的。(3)窗体被隐藏时,用户只有等到被隐藏窗体的事件过程的全部代码执行完后才能够与该应用程序交互。(4)如果调用Hide方法时窗体还没有加载,那么Hide方法将加载该窗体但不显示它。7.3 窗体的常用方法 2.Show方法 作用:用以显示MDIForm或Form对象。格式:对象.Show 说明:(1)Show方法的语法中“对象”是可选的。它可以是一个对象表达式,
8、其值为“应用于”列表中的一个对象。如果省略“对象”,则带有焦点的窗体缺省为“对象”。(2)如果调用Show方法时指定的窗体没有装载,Visual Basic将自动装载该窗体。(3)应用程序的启动窗体在其Load事件调用后会自动出现。7.3 窗体的常用方法 3.Move方法 作用:用以移动MDIForm、Form或控件,并可以改变其大小。格式:对象.Move left,top,width,height 说明:(1)其中Move方法的语法中“对象”是可选的。可以是一个对象表达式,其值为“应用于”列表中的一个对象。如果省略“对象”,则带有焦点的窗体缺省为“对象”。7.3 窗体的常用方法 (2)参数l
9、eft是必须的,指示对象左边的水平坐标(x轴);参数top是可选的,指示“对象”顶边的垂直坐标(y轴);参数Width也是可选的,指示“对象”新的宽度;参数height同样是可选的,指示“对象”新的高度。(3)left、top、width和height都为单精度值。(4)只有left参数是必须的。但是,要指定任何其他的参数,必须先指定出现在语法中该参数前面的全部参数。例如,如果不先指定left和top参数,则无法指定width参数。任何没有指定的尾部参数则保持不变。7.3 窗体的常用方法【例7-1】在窗体上分别用4个命令按钮上、下、左、右移动一个标签。7.3 窗体的常用方法Private Su
10、b Command1_Click()Label1.Move Label1.Left,Label1.Top-10 上移End SubPrivate Sub Command2_Click()Label1.Move Label1.Left,Label1.Top+10 下移End SubPrivate Sub Command3_Click()Label1.Move Label1.Left-10 左移End SubPrivate Sub Command4_Click()Label1.Move Label1.Left+10 右移End Sub7.3 窗体的常用方法 4.Print 方法 作用:在指定对象上
11、显示文本。格式:对象.PrintSpc(n)|Tab(n)表达式列表;|,说明:(1)对象:可以是窗体、图形框或打印机,缺省对象在窗体上输出。(2)Spc(n)函数:在当前位置插入n个空格,允许重复使用。(3)Tab(n)函数:从左往右将插入点定位在绝对列号n上,允许重复使用。7.3 窗体的常用方法(4)表达式列表:要输出的数值或字符串表达式,若省略,则输出一个空行,多个表达式之间用逗号、分号分隔,也可出现Spc和Tab函数。开始打印的位置是由对象的CurrentX和CurrentY属性决定,缺省为打印对象的左上角(0,0)。(5);(分号):光标定位在上一个显示的字符后。(6),(逗号):光
12、标定位在下一个打印区的开始位置处,打印区每隔14列开始。(7)无“;”或“,”时表示输出后换行。7.3 窗体的常用方法 5.Cls方法 作用:清除运行时 Form 或 PictureBox 所生成的图形和文本。格式:对象.Cls 说明:(1)Cls将清除图形和打印语句在运行时所产生的文本和图形,而设计时在Form中使用Picture属性设置的背景位图和放置的控件不受Cls影响。(2)调用Cls之后,对象的CurrentX和CurrentY属性复位为0。7.3 窗体的常用方法 6.Refresh方法 作用:强制全部重绘一个窗体或控件。格式:对象.Refresh 说明:(1)在下列情况下使用 Re
13、fresh 方法:在另一个窗体被加载时显示一个窗体的全部;(2)Refresh方法不能用于MDI窗体,但能用于MDI子窗体。(3)通常,如果没有事件发生,窗体或控件的绘制是自动处理的。但是,有些情况下希望窗体或控件立即更新。7.3 窗体的常用方法 7.4.1 鼠标事件7.4 事件事件名称发生条件Click单击鼠标左键的时候发生DblClick双击鼠标左键的时候发生MouseMove鼠标移动的时候连续发生MouseDown鼠标左键或者右键按下的时候发生MouseUP鼠标左键或者右键被释放的时候发生 1.MouseDown事件 用户按下鼠标的时候所触发的事件称为MouseDown事件。语法如下:说
14、明:Private Sub Object_MouseDown(Index As IntegerButton As Integer,Shift As Integer,X As Single,Y As Single)(1)Object是控件对象的名称。(2)Index是一个整数,用来唯一标识一个在控件数组中的控件。(3)Button是一个整数,取值为1、2和4,用来标识触发该事件的是哪一个鼠标键。7.4 事件(4)Shift是一个整数,取值为17。在Button参数中指定的按键被按下的情况下,指示Shift、Alt和Ctrl键的状态。(5)X和Y是用来标识鼠标指针当前位置的。7.4 事件取 值含
15、义取 值含 义03个键都向上1Shift键按下2Ctrl键按下3Shift和Ctrl键按下4Alt键按下5Shift键和Alt键按下6Ctrl键和Alt键按下 73个键都按下 2.MouseUp事件 释放鼠标按钮时触发的事件称为MouseUp事件。语法如下:Private Sub Object_MouseUp(Index As Integer Button As Integer,Shift As Integer,X As Single,Y As Single)MouseUp事件函数使用方法同MouseDown事件。7.4 事件 3.MouseMove事件 移动鼠标时触发的事件称为MouseMo
16、ve事件。语法如下:Private Sub Form_MouseMove(Index As Integer Button As Integer,Shift As Integer,X As Single,Y As Single)其中参数的含义同上。7.4 事件【例7-2】下面通过一个简单的程序观察窗体对单击、双击鼠标的响应情况。7.4 事件查看代码【例7-3】设计一个窗体,用户可以在窗体上实现绘制图形。7.4 事件查看代码 7.4.2 键盘事件 VB中还有一类很重要的事件是键盘事件,能触发键盘事件的控件主要有复选框(CheckBox)控件、命令按钮(CommandButton)控件、文本框(Te
17、xtBox)控件以及窗体对象等。7.4 事件事件名称发生条件KeyDown当键盘上某键被按下去时发生KeyUp键盘上的键弹起来时发生KeyPress此事件发生在键盘被按下后和字符被显示出来之前发生【例7-4】使用键盘的KeyDown事件和KeyUp事件示例。演示一个响应F1以及与Alt和Ctrl相联的组合键的键盘处理程序。该窗体上只有一个文本框控件。7.4 事件查看代码 7.5.1 多窗体概述 1.添加窗体的方法(1)从工具栏上单击“添加窗体”的下拉箭头,即可弹出一个列表,从中选取“添加窗体”选项。(2)从“工程”菜单上选取“添加窗体”命令选项,即可为工程添加一个新的窗体。这个新窗体的默认名称
18、和标题均由工程已有的窗体数目自动排列序号决定,如第二个生成的窗体,其默认的名称为Form2,标题为Form2。(3)在工程资源管理器中选定工程。用鼠标右键打开上下文菜单,选取“添加”项下的“添加窗体”选项,也可以生成一个新窗体。7.5 多窗体设计 2.保存窗体 选定要保存的窗体,在“文件”菜单上选择“保存Form name”或“Form name另存为”选项,或者在工程资源管理器中打开其上下文菜单,选取“保存Form name”或“Form name另存为”选项。3.删除窗体(1)在工程资源管理器中选中要删除的窗体,弹出其上下文菜单,选取“移出Form name”选项。(2)选定要删除的窗体,然后选择菜单“工程”|“移出Form name”命令即可。7.5 多窗体设计 4.制定启动窗体 拥有多个窗体的工程,需要设定一个启动窗体,以便运行应用程序时,作为第一个出现的窗体。系统默认第一个建立的窗体作为启动窗体。需要另外设置时,可以在工程资源管理器中选定工程,打开上下文菜单,选取“工程1属性”选项,弹出“工程1-工程属性”对话框。7.5 多窗体设计 7.5.2 多窗体举例【例7-5】设计一个学校的学生管理系统的框架,其包括以下功能:(1)学生添加;(2)学生查询;(3)学生浏览。7.5 多窗体设计查看代码本章内容结束,谢谢观看