第3章窗体和控件

Download Report

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顺序。
沈阳药科大学计算机教研室