Label控件应用方案.docx
- 文档编号:20136958
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:42
- 大小:792.69KB
Label控件应用方案.docx
《Label控件应用方案.docx》由会员分享,可在线阅读,更多相关《Label控件应用方案.docx(42页珍藏版)》请在冰豆网上搜索。
Label控件应用方案
Label控件应用方案
知识讲解
1.功能
Label控件即标签控件,是VisualBasic控件中最基本的控件。
Label控件可以用来显示用户不能直接改变的文本信息。
可以在属性窗口中设置控件的显示文本信息,也可以通过编写程序代码来改变控件的显示文本信息。
Label控件最常用的功能是用来标识控件,例如TextBox控件没有自己的Caption属性,这时就可以使用Label来标识TextBox控件。
2.属性
Label控件的部分常用属性如表1所示。
表1Label控件的常用属性
编号
属性
说明
1
AutoSize
决定控件是否自动改变大小以显示其全部内容
2
BackStyle
用来指定Label控件的背景是否为透明
3
BorderStyle
返回或设置控件边框的样式
4
Caption
确定标签控件中显示的文本内容
5
WordWrap
返回或设置一个值,该值用来指示一个AutoSize属性设置为True的Label控件,是否要进行水平或垂直展开以适合其Caption属性中指定文本的要求
下面对比较重要的属性进行详细介绍。
(1)Caption属性
确定标签控件中显示的文本内容。
语法:
object.Caption[=string]
object:
对象表达式。
string:
字符串表达式,其值是被显示为标题的文本。
示例:
下例在标签控件中显示当前系统的日期。
在窗体启动时,在Label控件中显示当前系统的日期。
如图1所示。
图1显示当前系统的日期
程序完整代码如下:
PrivateSubForm_Load()
Label1.Caption=Date
EndSub
Caption属性允许文本的长度最多为1024个字符。
在默认情况下,当文本超过控件宽度时,文本会自动换行;当文本超过控件高度时,超出部分将被裁剪掉。
在程序中设置其属性的写法如下:
Label1.Caption="供应商编号"
(2)BackStyle属性
返回或设置一个值,它指定Label控件的背景是否为透明。
语法:
object.BackStyle[=number]
object:
对象表达式。
number:
数值表达式,用于确定透明性,当Number值为0时,表示Label控件为透明状态;当值为1时,表示Label控件为非透明状态。
BackStyle属性用于设置标签控件的背景是否透明。
在本实例中,将标签控件的BackStyle属性值设置为0,Caption属性设置为空,放置在窗体背景图片上,则可模拟按钮,从而达到美化界面的效果。
如图2所示。
图2将标签控件的背景设置为透明
如将标签的背景设置成透明,其代码如下:
Label1.BackStyle=0
(3)BorderStyle(边框)属性
该属性用来设置标签边框的样式,其属性值有两种状态:
当属性值取0时,表示控件的四周没有边框,如图3所示。
在程序中设置其属性值的代码如下:
Label1.BorderStyle=0
当属性值取1时,表示控件的四周加上立体边框,如图4所示。
在程序中设置其代码的属性值,其写法如下:
Label1.BorderStyle=1
图3不加边框的标签属性设置
图4加边框的标签属性设置
(4)AutoSize和WordWrap属性.
AutoSize属性确定标签是否会随标题内容的多少自动变化。
如果AutoSize属性的属性值为True,则随Caption内容的多少自动调整控件本身的大小,且不换行;如果值为False,表示标签的尺寸不能自动调整,超出尺寸范围的内容将不显示。
如将Label控件的宽度设置成随文字长度自动调整,其写法如下:
Label1.AutoSize=True
Wordwrap属性用来设置当标签在水平方向上不能容纳标签中的文本时,是否折行显示文本。
当其值为True时,表示文本折行显示,标签在垂直方向上放大或缩小以适合文本的大小,标签水平方向的宽度保持不变;其值为False时,表示文本不换行。
上述两个属性主要用来确定文本如何在标签中显示。
有时候,标签中的文字内容会动态地变化,此时,如果想保持标签水平方向的长度不变,应同时使Wordwrap和AutoSize属性为True;若仅仅希望在水平方向上改变标签的大小,只需将AutoSize属性设为True,而Wordwrap属性保持为False即可。
下面以设计合同管理系统中查看操作员窗体中的Label控件为例,来讲解一下Label控件的常用属性设置方法。
在如图2.39所示的窗体界面中,将Label1的Caption属性值设置为“当前操作员”,Alignment属性值设置为2-Center,BackStyle属性设置为0-Transparent,设置完的效果如图5所示。
图5Label控件的属性设置
(5)Alignment属性
Alignment属性用于设置Caption属性中文本的对齐方式,其对齐方式有3种可选值:
值为0时为左对齐(LeftJustify);值为1时为右对齐(RightJustify);值为2时为居中对齐(CenterJustify)。
如要将Label1标签内的文字设置成“居中对齐”显示,可以用如下的代码来实现:
Label1.Alignment=2
3.方法
Label控件常用方法介绍如表2所示。
表2Label控件的常用方法
编号
方法
说明
1
LinkExecute
在一次DDE对话过程中将命令字符串发送给发送端应用程序
2
LinkPoke
在DDE对话过程中将Label控件的内容传送给发送端应用程序
3
LinkSend
在一次DDE对话中将Label控件的内容传输到接收端应用程序
4
LinkRequest
在一次DDE对话中请求发送端应用程序更新Label控件中的内容
5
Move
用以移动MDIForm、Form或控件
下面对比较重要的方法进行详细介绍。
(1)LinkExecute方法
在一次DDE对话过程中将命令字符串发送给发送端应用程序。
不支持命名参数。
语法:
object.LinkExecutestring
object:
对象表达式。
string:
字符串表达式,它含有源应用程序所识别的命令。
例如建立一个MicrosoftExcel的DDE链接,将一些值放置到一个新工作单的第一行的单元里。
LinkExecute向MicrosoftExcel发送激活工作单的命令,如图6、7所示。
图6激活工作单
图7激活工作单后的效果
程序代码如下:
PrivateSubForm_Click()
DimCmd,I,Q,Row,Z'声明变量
Q=Chr(34)'定义引用标记
'创建一个含有MicrosoftExcel宏指令的字串
Cmd="[ACTIVATE("&Q&"SHEET1"&Q&")]"
Cmd=Cmd&"[SELECT("&Q&"R1C1:
R5C2"&Q&")]"
Cmd=Cmd&"[NEW(2,1)][ARRANGE.ALL()]"
IfLabel1.LinkMode=vbNoneThen
Z=Shell("Excel",4)'启动MicrosoftExcel
Label1.LinkTopic="Excel|Sheet1"'设置连接主题
Label1.LinkItem="R1C1"'设置连接项目
Label1.LinkMode=vbLinkManual'设置连接模式
EndIf
ForI=1To5
Row=I'定义行号
Label1.LinkItem="R"&Row&"C1"'设置连接项目
Label1.Caption=Chr(64+I)'将值放置在Text中
Label1.LinkPoke'将值放入单元
Label1.LinkItem="R"&Row&"C2"'设置连接项目
Label1.Caption=Row'将值放置在Text中
Label1.LinkPoke'将值放入单元
NextI
OnErrorResumeNext
Label1.LinkExecuteCmd'执行MicrosoftExcel命令
EndSub
注意:
string的实际值根据源应用程序而改变。
例如,MicrosoftExcel和MicrosoftWordforWindows接受括在方括号([])中宏命令所组成的命令字符串。
要查看源应用程序所接受的命令字符串,请查阅该应用程序的文档。
(2)Move方法
用以移动MDIForm、Form或控件。
不支持命名参数。
语法:
object.Moveleft,top,width,height
Move方法语法中各参数的说明如表3所示。
表3参数说明
参数
说明
object
可选的参数。
对象表达式
left
必需的参数。
单精度值,指示object左边的水平坐标值
top
可选的参数。
单精度值,指示object顶边的垂直坐标值
width
可选的参数。
单精度值,指示object新的宽度
height
可选的参数。
单精度值,指示object新的高度
示例:
下例演示的是当程序运行时,单击窗体上的控制按钮,将使Label控件移动到指定的位置。
如图8所示。
图8移动控件的位置
程序完整代码如下:
PrivateSubCommand1_Click()
Label1.Move600,600,1000,300
EndSub
4.事件
Label控件的常用事件如表4所示。
表4Label控件的常用事件
编号
事件
说明
1
Change
指示一个控件的内容已经改变。
该事件在一个DDE链接更新数据或通过代码改变Caption属性的设置时发生
2
Click
此事件在标签控件上按下然后释放一个鼠标按键时发生。
它也会在一个控件的值改变时发生
3
DblClick
当在标签控件上按下和释放鼠标按键并再次按下和释放鼠标按键时,该事件发生
4
LinkClose
此事件在一个DDE对话结束时发生。
DDE对话的两个应用程序任何时候都可以终止对话
5
LinkError
当一个DDE对话过程中出现错误时,该事件发生。
仅在发生了一个DDE有关的错误并且没有VisualBasic代码被执行来处理这些错误时,才会将其错误号作为参数传递
6
LinkOpen
此事件在一个DDE对话正在启动时发生
下面对比较重要的事件进行详细介绍。
(1)Click事件
此事件是在一个对象上按下然后释放一个鼠标按键时发生,它也会在控件的值改变时发生。
语法:
PrivateSubobject_Click([indexAsInteger])
object:
对象表达式。
Index:
一个整数,用来惟一地标识一个在控件数组中的控件。
(2)LinkClose事件
此事件在一个DDE对话结束时发生。
DDE对话的两个应用程序任何时候都可以终止对话。
语法:
PrivateSubobject_LinkClose([indexAsInteger])
object:
对象表达式。
Index:
一个整数,它用来惟一标识一个在控件数组中的控件。
示例
下例演示Label控件的LinkClose事件。
LinkClose事件在DDE对话之后发生,在关闭如图9所示的窗体时,触发Label控件的LinkClose事件,提示DDE对话已经结束的提示信息,如图10所示。
图9读取数据
图10提示信息
程序主要代码如下:
PrivateSubLabel1_LinkClose()
MsgBox"已经关闭DDE对话连接",48,"提示信息"
EndSub
程序完整代码如下:
PrivateSubCommand1_Click()
DimCurRowAsString
'确保连接不是活动的.
Label1.LinkMode=0
Label1.LinkTimeout=30
'设置应用程序的名字和题目名.
Label1.LinkTopic="Excel|Sheet1"
Label1.LinkItem="R1C1"'设置LinkItem.
Label1.LinkMode=1'设置LinkMode为自动.
Label1.LinkRequest'更新标签中的内容
Lab_sex.LinkMode=0
Lab_sex.LinkTopic="Excel|Sheet1"
Lab_sex.LinkItem="R1C2"
Lab_sex.LinkMode=1
Lab_age.LinkMode=0
Lab_age.LinkTopic="Excel|Sheet1"
Lab_age.LinkItem="R1C3"
Lab_age.LinkMode=1
Lab_jg.LinkMode=0
Lab_jg.LinkTopic="Excel|Sheet1"
Lab_jg.LinkItem="R1C4"
Lab_jg.LinkMode=1
Lab_dh.LinkMode=0
Lab_dh.LinkTopic="Excel|Sheet1"
Lab_dh.LinkItem="R1C5"
Lab_dh.LinkMode=1
Lab_dz.LinkMode=0
Lab_dz.LinkTopic="Excel|Sheet1"
Lab_dz.LinkItem="R1C6"
Lab_dz.LinkMode=1
EndSub
PrivateSubLabel1_LinkClose()
MsgBox"已经关闭DDE对话连接",48,"提示信息"
EndSub
PrivateSubLabel1_LinkError(LinkErrAsInteger)
IfLinkErr=1Then
MsgBox"已经有另一个应用程序按照此错误的格式请求过数据",48,"提示信息"
ElseIfLinkErr=6Then
MsgBox"接收端应用程序试图继续DDE对话。
",48,"提示信息"
ElseIfLinkErr=7Then
MsgBox"所有源链接都在使用中。
",48,"提示信息"
ElseIfLinkErr=8Then
MsgBox"更新控件中的数据失败",48,"提示信息"
ElseIfLinkErr=11Then
MsgBox"无足够的内存给DDE使用",48,"提示信息"
EndIf
EndSub
应用一:
Label控件区域控制中的应用
当鼠标在Label控件的区域时,处理一些事物;当鼠标不在Label控件的区域时,可以恢复事物为初始状态,以达到动态变化的效果。
例如,当鼠标移动到Label1控件(作为命令按钮)上时,Label1控件为按下状态;当鼠标移动到Label2控件的区域时,Label1控件为抬起状态。
设计结果如图11所示。
图11人事档案管理系统主界面
具体设计步骤如下:
(1)将图形化的主界面作为窗体背景。
(2)将Label1控件数组中的元素按顺序放置在不同功能的图形按钮上,设置Caption属性值为空、BackStyle属性值为“0-Transparent”。
(3)调整Label2控件的大小,基本与窗体一样大,然后放置在窗体上。
设置Caption属性值为空、BackStyle属性值为“0-Transparent”。
注意:
Label2控件应置于Label1控件的底层。
4)程序代码如下:
DimmousemoveAsBoolean
DimiAsInteger
'鼠标移动到标签上时标签为抬起状态
PrivateSubLabel1_MouseMove(IndexAsInteger,ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
mousemove=(0<=X)And(X Fori=0To8'循环 Ifmousemove=TrueThen'当状态为True IfIndex=iThen'当索引值与i相同 Label1(i).BorderStyle=1'设置边框样式为1 Else Label1(i).BorderStyle=0'设置边框样式为0 EndIf EndIf Nexti EndSub PrivateSubLabel2_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle) mousemove=(0<=X)And(X Fori=0To8'循环 Ifmousemove=TrueThen'当状态为True Label1(i).BorderStyle=0'设置边框样式为0 EndIf Nexti EndSub 应用二: Label控件作为标题的应用 Label控件通常用于通知用户一些在窗体上可见控件的意义,即作为标题使用。 Label控件作为标题,可以有很多效果。 常见是它的默认效果,透明或者不透明,还有阴影效果、图形效果的标题等。 各种效果如图12所示。 图12Label控件作为标题的应用 具体设计方法如下: 效果1: 普通效果的标题是Label控件的默认效果,它可以透明,也可以不透明,主要取决于窗体或容器的背景色。 如果窗体或容器的背景色与Label控件的背景色一致,那么可以不透明,否则,必须设置透明,这样才不会影响程序界面的效果。 另外,如果几个Label控件在一列或一行上,为了使界面整齐,可以设置Label控件左对齐或右对齐;顶端对齐或底端对齐。 完成此设置可以使用“格式”菜单中的“对齐”命令。 例如,在添加科室信息窗体中将“科室编号”等Label控件设置为左对齐,结果如图13所示。 图13设置Label控件左对齐 效果2: 阴影效果的标题。 阴影效果的标题由两个或三个Label控件透明后错位叠加而成。 其中作为阴影的文字,最好使用深色。 调整这几个控件的位置可以使用快捷键: 说明: 〈Ctrl+↑〉向上微移控件;〈Ctrl+↓〉向下微移控件;〈Ctrl+←〉向左微移控件;〈Ctrl+→〉向右微移控件 效果3: 图形效果的标题。 图形效果的标题使用了三个Label控件。 将最底下的两个Label控件一个设置为紫色,一个设置为黑色,黑色置于底层,以达到阴影效果,Caption属性为空。 在这两个Label控件的最上面放置另外一个Label控件,设置标题文字、设置透明效果。 应用三: 按钮导航菜单 实例说明 在某些管理软件中,菜单不仅实现了调用程序执行任务的功能,并能给出相应功能按钮的流程图式菜单,非常直观。 本实例就要实现这种菜单,效果如图14所示。 图14按钮导航菜单 思路与技术 本实例主要使用Picture控件和Label控件来制作按钮导航菜单。 通过在Label控件的MouseMove事件过程中编写代码来确定Picture控件(按钮)的位置,从而实现按钮变换的效果。 下面介绍MouseMove事件。 当鼠标指针处于窗体和控件的边框内时发生MouseMove事件。 语法: PrivateSubobject_MouseMove([indexAsInteger,]buttonAsInteger,shiftAsInteger,xAsSingle,yAsSingle) 参数说明: object对象表达式,其值是“应用于”列表中的一个对象。 index整数,用来惟一地标识一个在控件数组中的控件。 button整数,它与鼠标各个按键的状态相对应,如果某个按键被按下,其中就有一个二进制位被设置。 button参数是具有相应于左按键(位0),右按键(位1),以及中间按键(位2)的一个位字段。 这些位的值分别等于1、2和4。 它表示这些鼠标按键的整体状态,3个二进制位中的一些、全部或一个也没有被设置表示这些按键中的一些、全部或一个也没有被按下。 shift一个整数,该整数与Shift、Ctrl和Alt键的状态相对应。 某键被按下使得一个二进制位被设置。 shift参数是具有相应于Shift键(位0)、Ctrl键(位1)以及Alt键(位2)最少二进制位的一个位字段。 这些位的值分别等于1、2和4。 shift参数指示这些键的状态。 这些位中可能有一些、全部或者一个也没有被设置,指示这些键中的一些、全部或者一个也没有被按下。 例如,Ctrl和Alt键都被按下,则shift的值就是6。 x,y一个指定鼠标指针当前位置的数。 x和y的值表示的总是通过该对象ScaleHeight,ScaleWidth,ScaleLeft和ScaleTop属性所建立的坐标系统的方式。 开发步骤 (1)新建一个标准工程,创建一个新窗体,默认的“名称”属性为Form1。 (2)在Form1窗体上添加一个Label1控件 数组(Label1(0)~Label1(8))和一个Picture控件 ,设置Label1控件数组的ForeColor属性为“&H00C00000&”。 (3)在Picture1控件中添加一个Label控件,设置其“名称”属性为lbl1,ForeColor属性为“&H000000C0&” Form1窗体中控件部分属性设置如表5所示。 表5Form1窗体中控件部分属性设置 控件名 属性 值 CommonDialog Name CommonDialog1 Label Name Caption Label1(0) 日常业务管理 Label Name Caption Label1 (1) 库存药品管理 Label Name Caption Label1 (2) 药品查询统计 Label Name Caption Label1(3) 基本资料管理 Label Name Caption Label1(4) 系统管理 Label Name Caption Label1(5) 辅助工具 Label Name Caption Label1(6) 帮助 Label Name Ca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Label 控件 应用 方案