Transcript 第3章窗体和控件
第三章 窗体和控件 全国高等医药院校药学类规划教材 计算机程序设计(第二版) 目录 沈 阳 药 科 大 学 计 算 计 教 研 室 第一节 文本控件 第二节 按钮控件 第三节 单选按钮和复选框 第四节 图形控件 第五节 焦点和Tab顺序 计算机程序设计(第二版)——沈阳药科大学 引言 Visual Basic是一种可视化的高级程序设计语言,不但具 有所见即所得的优点,而且还提供了大量的Windows窗体控 件。只要我们熟练掌握了这些控件的使用,就可以轻松编写出 具有Windows风格的图形化界面的应用程序。 本章将介绍Visual Basic中最基本的几个标准控件,更高 级的复杂控件将在第八章详细介绍。 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 3.1 文本控件 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 与文本有关的标准控件有两个: 1. 标签(Label) 程序在运行模式 (Run Mode)下,用户不能编辑其内容。 一般用做其它控件的功能提示说明或者显示程序的运行结果。 2. 文本框(TextBox) 程序在运行模式 (Run Mode)下,用户可以编辑其显示内 容,从而实现程序运行中的人机交互。 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 3.1.1 标签(Label) 除前面讲过的常用属性Name,Top,Left,Height, Width,Visible,Font外,标签还具有以下属性: (1) Caption(标题) 该属性用于设置标签中显示的文本。该文本信息既可以在 设计模式下通过属性窗口设置,也可以在运行模式下通过修改 Caption属性来设置。 例如,下面语句可将标签的显示文本更改为“消炎药品”: Label1.Caption="消炎药品" 注意:标签没有Text属性,这与下面讲到的文本框不同。 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 (2) Alignment(对齐方式) 用于设置标签中文本的对齐方式,有三种取值情况: 0 - Left Justify(缺省) 标签中的文本左对齐 1 - Right Justify 标签中的文本右对齐 2 - Center 标签中的文本居中对齐 (3) BackStyle(背景风格) 该属性用于设置标签的背景风格,有两种取值情况: 0 - Transparent 标签的背景为透明的,就像是在一块透 明玻璃上书写文本一样,无论BackColor设为什么颜色都不会 显示。 1 – Opaque(缺省) 标签的背景为非透明的,会遮挡标签后 面的内容 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 (4) BorderStyle(边框风格) 该属性用于设置标签的边框风格,有两种取值情况: 0 – None(缺省) 标签无边框 1 - Fixed Single 标签有边框 (5) Appearance(外观) 该属性用于设置标签外观是否具有立体的效果,有两种取 值情况: 0 - Flat 标签为平面效果 1 - 3D(缺省) 标签为立体效果 注意:显示3D效果的前提是将BorderStyle设置为1 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 (6) AutoSize(自动调整大小) 该属性用于设置标签的大小是否随标题文本大小的改变而 改变,有两种取值情况: True 标签的大小随标题文本大小的改变而改变 False(缺省) 当标题太长时,只显示其中的一部分内容 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 3.1.2 文本框(TextBox) 除前面讲过的Name,Top,Left,Height,Width, Visible,Font等常用属性外,文本框还具有以下属性: (1) Text(文本) 和前面讲的标签不同,文本框没有Caption属性。 (2) MaxLength(允许输入的最大字符数) 注意:MaxLength=0时,表示无字符个数限制(可以接收 Visual Basic系统规定的最大字符数32K) 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 (3) MultiLine(多行显示) 注意:在MultiLine为True的前提下,强制文本框内文本 换行的方法为: 设计模式下,在Text属性中相应位置按下Ctrl+Enter 运行模式下,为Text属性赋值时相应位置加入“ vbCrLf ” 例如:Text1.text="抗癌" + vbCrLf + "新药物" (4) PassWordChar(文本框中用什么字符替代显示) 注意:该属性为空值时,表示显示原始信息。 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 (5) ScrollBars(滚动条) 注意:只有当MultiLine属性设置为True时,ScrollBars才 生效;只要有水平滚动条,那么文本框的自动换行功能就不会 生效,除非强制换行。 (6) Locked(锁定) 注意:当Locked=True时文本框外观无变化、可以接收焦 点,用户不能修改文本框内容,只能通过代码修改Text属性。 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 (7) Enabled(激活可操作) 注意:Enabled和Locked并不相同。Enabled为False时, 外观变灰、不能接收焦点、用户不能编辑文本内容、可以通过 代码修改Text属性。 (8) SelStart(从第几个字符后开始选择)、SelLength (选中 了多少个字符) 、SelText(选中的具体文本内容) 应用举例:文本框中字符的选择操作.vbp 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 文本框的常用事件和方法: (1) Change事件 运行模式下无论通过什么方式,当文本框的内容发生改变 后,就会触发Change事件。 应用举例:通过Change事件即时计算圆的面积.vbp (2) KeyPress事件 运行模式下,在文本框中按下键盘上某个具有字符编辑功 能的按键后,在文本框中的内容改变前,会触发KeyPress事 件。 应用举例:通过KeyPress事件使输入字符均为大写.vbp 说明:a的ASCII为97,z的ASCII为122 计算机程序设计(第二版)——沈阳药科大学 第一节 文本控件 (3) GotFocus事件 运行模式下无论通过什么方式,只要光标焦点从其它控件 进入该文本框就会触发GotFocus事件。 (4) LostFocus事件 运行模式下无论通过什么方式,只要光标焦点从该文本框 移走就会触发LostFocus事件。 应用举例:通过LostFocus 事件判断半径的合法性.vbp (5) SetFocus方法 功能是在运行模式下通过代码将光标焦点移动到指定的文 本框中,语法为: [对象名称.]SetFocus。 计算机程序设计(第二版)——沈阳药科大学 第二节 按钮控件 3.2 按钮控件 计算机程序设计(第二版)——沈阳药科大学 第二节 按钮控件 3.2.1 命令按钮(Command Button) 除前面讲过的常用属性外,命令按钮还具有以下属性: (1) Caption(标题) 该属性用于设置命令按钮上显示的文本,用以标明该命令 按钮的功能。 命令按钮的热键设置:在Caption属性中将某个字母的前 面添加一个“&”字符,程序运行时该字母下就会出现一个下划 线,此时利用鼠标单击该按钮与按下ALT+该字母的功能是等 价的,我们把ALT+该字母称为该命令按钮的热键。 命令按钮Name属性和Caption属性的区别(应用举例): Name属性对开发者有意义,用来在代码中区分不同对象 Caption属性对使用者有意义,说明对象的用途 计算机程序设计(第二版)——沈阳药科大学 第二节 按钮控件 (2) Default (默认对象) 当一个命令按钮的Default属性设置为True时,如果目前焦 点没有在其它命令按钮上,那么按键盘上的回车键与单击该命 令按钮的作用相同。在一个窗体中,只允许有一个命令按钮的 Default属性被设置为True。 (3) Cancel (默认的取消功能按钮) 当一个命令按钮的Cancel属性设置为True时,无论目前焦 点在什么地方,按键盘上的Esc键与单击该命令按钮的作用相 同。在一个窗体中,只允许有一个命令按钮的Cancel属性被 设置为True。 计算机程序设计(第二版)——沈阳药科大学 第二节 按钮控件 (4) Style (外观风格) 该属性用于设置命令按钮的外观风格。有两种取值情况: 0 - Standard标准样式(缺省) 命令按钮上只能显示文本内 容(Caption属性),不能显示图形(Picture属性,可以设置但不 显示) 1 - Graphical图形格式 命令按钮上既可以显示文本内容, 又可以显示图形 (5) Picture (外观图片) Style属性为1时,命令按钮上显示的图片。加载方法详见 PictureBox。 计算机程序设计(第二版)——沈阳药科大学 第二节 按钮控件 命令按钮常用的事件 命令按钮最常用的事件是单击(Click)事件,触发该事 件的方法有: a) 用鼠标单击该命令按钮。 b) 用Tab键将焦点移动到该命令按钮上,击键盘上的空格键(或回 车键)。 c) 利用Caption属性中设定的热键。 d) 对于Cancel属性为True的按钮,按下键盘上的Esc键。 e) 对于Default属性为True的按钮,当焦点不在其它命令按钮上时, 按下键盘上的回车键。 计算机程序设计(第二版)——沈阳药科大学 第三节 单选钮和复选框 3.3 单选钮和复选框 计算机程序设计(第二版)——沈阳药科大学 第三节 单选钮和复选框 当需要为用户提供几种候选项供用户选择时,最常用的两 种控件就是:单选按钮(OptionButton,又名收音机按钮 RadioButton)和复选框(CheckBox) 计算机程序设计(第二版)——沈阳药科大学 第三节 单选钮和复选框 3.3.1 重要属性 除前面讲过的常用属性外,单选钮和复选框还具有以下重 要属性: (1) Value (选定状态) 用来设置和标识单选按钮和复选框的选定状态 单选按钮的Value属性为布尔类型,有两种取值情况: False(缺省) 表明该单选钮未被选中 True 表明该按钮处于被选中状态。 复选框Value属性为数值型,有三种取值情况: 0 – Unchecked(缺省) 该复选项目前未被选中 1 – Checked 该复选项目前已经被选中 2 – Grayed 该复选框被禁止选择(灰色) 通过Value属性判断某侯选项是否被选中.vbp 计算机程序设计(第二版)——沈阳药科大学 第三节 单选钮和复选框 (2) Alignment(对齐方式) 设置复选框或单选按钮控件标题的对齐方式(和标签的对 齐方式意义不同),在设计模式和运行模式下均可设置。 有两种取值情况: 0 – VbLeftJustify(缺省) 控件居左,标题在控件右侧显示 1 – VbRightJustify 控件居右,标题在控件左侧显示 计算机程序设计(第二版)——沈阳药科大学 第三节 单选钮和复选框 (3) Style (风格) 指定复选框或单选按钮的显示方式。有两种取值情况: 0 – VbButtonStandard(缺省) 标准方式,同时显示控件 和标题 1 – VbButtonGraphical 图形方式,控件用图形的样式显 示,外观与命令按钮相类似 复选框和单选按钮的风格比较.vbp 计算机程序设计(第二版)——沈阳药科大学 第三节 单选钮和复选框 3.3.2 单选钮和复选框应用举例 在窗体Form1上添加一个文本框Text1,将其Text属性修 改为“青霉素是抗菌消炎药品”,Font属性设为宋体,四号。 再添加两个单选钮Option1和Option2,将Caption属性分别设 定为“隶书”和“黑体”。再添加两个复选框Check1和 Check2,将Caption属性分别设定为“斜体”和“删除线”。 要求:当单击某种字体名称或字体格式时,即时生效 字符格式设定.vbp 计算机程序设计(第二版)——沈阳药科大学 第四节 图形控件 3.4 图形控件 计算机程序设计(第二版)——沈阳药科大学 第四节 图形控件 为了设计内容丰富、界面美观的应用程序我们经常需要用 到与图形相关的控件,常见的有: 1. 2. 3. 4. 图片框(PictureBox) 图像框(Image) 直线(Line) 形状(Shape) 计算机程序设计(第二版)——沈阳药科大学 第四节 图形控件 3.4.1 PictureBox PictureBox控件的主要作用是显示图片,另外还可作为容 器,像窗体一样容纳和分组其它控件及打印输出。 1. 重要属性 (1) Align (停靠位置) 用于设置图片框在窗体上的位置,有以下几种取值情况: 0 – None(缺省)图片框的大小、位置由设计者手动设定 1 – Align Top 上边缘自动与窗体上边缘对齐,宽度自动与窗体 的宽度相同(之后调整窗体宽度时,图片框的宽度也自动改变),高度 保持原来高度不变(可以自行调整)。位置和宽度不可自行随意调整 2 – Align Bottom 3 – Align Left 4 – Align Right 计算机程序设计(第二版)——沈阳药科大学 第四节 图形控件 (2) Appearance (外观) 设置图片框是否以立体三维形式显示边框。 (3) AutoRedraw (自动重绘) 与窗体相同,在程序运行过程中,当在图片框中使用图形 方法(如Circle、Line、Point 和 Pset)绘制图形或使用Print 方法输出文本后,由于被其它对象遮挡而使得被绘制的图形或 打印的文本不可见后,被遮挡部分再次露出时,如果该属性设 置为 True,那么这些图形或文本将被自动重绘输出。 (4) AutoSize(自动调整尺寸) 设置图片框是否自动调整为与Picture属性中加载的图片尺 寸相同。(注意与Image的Stretch属性的区别) 计算机程序设计(第二版)——沈阳药科大学 第四节 图形控件 (5) Picture(显示图片) 设置图片框上显示的图片。加载方法(同命令按钮): 第一种:在设计模式下从属性窗口中添加/修改 第二种:在运行模式下通过LoadPicture函数添加/修改, 语法格式为: [对象名.]Picture=LoadPicture(“带完整路径的图片文件名”) 例如Picture2.Picture=LoadPicture(“C:\animal\dog.bmp”) Picture2.Picture=LoadPicture(“”) 将Pictrue1和Picture2中现有的图片进行交换: Picture3.Picture = Picture1.Picture Picture1.Picture = Picture2.Picture Picture2.Picture = Picture3.Picture 计算机程序设计(第二版)——沈阳药科大学 第四节 图形控件 3.4.2 Image 图像框(Image)和图片框都可以显示图片,但图像框不能 作为容器(不能像图片框一样存放其它的控件和打印输出),另 外图像框比图片框占用更少的内存,描绘的更快。 图像框的特殊属性——Stretch(拉伸) False 装载图片后,图像框的大小自动调整为与图形的大 小相同。当调整图像框的大小时图形并不跟随缩放调整 True 图形的大小根据图像框大小的进行拉伸缩放,显示 的永远是图形的全部内容 计算机程序设计(第二版)——沈阳药科大学 第四节 图形控件 3.4.3 Line Line控件可以显示为一条直线。常见属性: 1. BorderColor 线条的颜色 2. BorderStyle 线型。例如实线、虚线等。取值从0到6。 3. BorderWidth 线条的粗细。 4. X1、Y1和 X2、Y2 线条的起始端点坐标 计算机程序设计(第二版)——沈阳药科大学 第四节 图形控件 3.4.4 Shape Shape控件可以显示为一个简单的图形。常见属性: 1. BackColor、BackStyle 同Label控件。 2. BorderColor、BorderStyle、BorderWidth 图形的边框格式。同Line控件。 3. FillColor、FillStyle 填充图案的颜色和填充图案的类型,如水平直线填充、 斜线填充等。FillStyle的取值从0到7,共8种填充图案。 4. Shape 图案的外观形状,例如圆形、椭圆形、正方形等。取值 从0到5,共有6种情况。 计算机程序设计(第二版)——沈阳药科大学 第五节 焦点和Tab顺序 3.5 焦点和Tab顺序 计算机程序设计(第二版)——沈阳药科大学 第五节 焦点和Tab顺序 3.5.1 设置焦点 1. 只有具有焦点的对象才可以接收用户的输入。 2. 对象得到焦点时,会触发GotFocus事件;失去焦点时,将触 发LostFocus事件。 3. 为对象设置焦点的方法有: 1) 利用鼠标单击该对象 2) 利用Tab键将焦点移动到该对象上 3) 利用热键选择该对象 4) 通过SetFocus方法将焦点放到某对象上 4. 对象的Enabled和Visible属性均为True时,才能接收焦点 5. 并非所有对象都可以接收焦点。常见控件中,Frame、Label、 Menu、Line、Shape、Image和Timer等,不能接收焦点。(只有 当窗体上的任何控件都不能接收焦点时,该窗体才能接收焦点) 计算机程序设计(第二版)——沈阳药科大学 第五节 焦点和Tab顺序 3.5.2 Tab顺序 Tab顺序就是按下Tab键时,焦点在各控件之间移动的顺序。 默认情况下,Tab顺序就是控件建立的先后顺序。 前面列出的不能接受焦点的控件,以及无效的、不可见的控件, 由于无法接收焦点,在按Tab键时会被直接跳过。 能够接受焦点的控件对象都有一个TabIndex属性,其实Tab顺 序就是该属性的顺序。通过人为修改TabIndex的值,就可以按照用 户操作的习惯来设置各控件的Tab顺序。 沈阳药科大学计算机教研室