VB课件第3章顺序结构43.docx
- 文档编号:6239383
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:13
- 大小:97.03KB
VB课件第3章顺序结构43.docx
《VB课件第3章顺序结构43.docx》由会员分享,可在线阅读,更多相关《VB课件第3章顺序结构43.docx(13页珍藏版)》请在冰豆网上搜索。
VB课件第3章顺序结构43
§4.3、多重窗体
对于简单程序,单一窗体就能满足了。
对于较复杂程序,可使用多重窗体(Multi—Form)。
在多重窗体设计中,每个窗体都有自己的事件程序,可完成不同的操作。
一、有关语句和方法
1、Load语句
格式:
Load〈窗体名〉
功能:
装载一个窗体到内存中,可以引用该窗体中的控件功能。
2、Unload语句
格式:
Unload〈窗体名〉
功能:
卸载内存中指定窗体,关闭相关对象的文件等操作。
3、Show方法
格式:
[〈窗体名.〉]Show[0|1]
功能:
(1)将窗体装入内存;
(2)显示该窗体
其中,0非模态型:
操作所有窗体(默认)
1模态型:
仅对该窗体操作
4、Hide方法
格式:
[〈窗体名.〉]Hide
功能:
仅隐藏窗体,不卸载。
例3_4_5设计计算成绩程序(三个窗体文件)
程序:
Form1程序
Publics_tAsLong
PrivateSubCommand1_Click()
Form2.Show1
EndSub
PrivateSubCommand2_Click()
Form1.Hide
Form3.Show
EndSub
PrivateSubCommand3_Click()
End
EndSub
Form2程序
PrivateSubCommand1_Click()
s_m=Val(Text1)
s_e=Val(Text2)
s_c=Val(Text3)
s_p=Val(Text4)
Form1.s_t=s_m+s_e+s_c+s_p
Form2.Hide
Form1.Show
EndSub
Form3程序
PrivateSubCommand1_Click()
Form3.Hide
Form1.Show
EndSub
PrivateSubForm_Activate()
Text1.Text=Form1.s_t/4
Text2.Text=Form1.s_t
EndSub
二、多重窗体程序的执行和保存
1、设置
VB规定,对于多窗体程序,必须指定一个窗体为启动窗体。
如果没有指定,则系统默认第一个设计的窗体为驱动窗体。
可以用下面办法选择启动窗体:
“工程”—“工程属性”—“通用”—“启动对象”—确定
只有启动窗体开始可以看到,其它窗体必须通过Show方法看到。
2、应用程序结束时,应卸载全部窗体及资源。
可以用End语句,也可以用Unload方法一一释放。
3、多重窗体程序存取
1、保存文件:
“保存工程”或“工程另存为”,系统提示用户保存工程各文件.Vbp(工程文件),.Frm(窗体文件),.Bas(模块文件)等
2、装载文件:
“打开工程”自动装载工程所有文件。
§5、控件介绍
§5.1、标签(Label)和文本框(TextBox)
共同点:
均可以显示文本信息
不同点:
1、标签中的文本内容是只读文本,不能直接修改。
2、文本框中文本内容可编辑,例如:
选择、删除、复制、剪切、粘贴等操作。
一、标签
常用属性:
Caption
Alignment
Backstyle
Bordestyle
Autosize
Wrdwrap
(1)Caption(标题)
字符型。
用于显示文本。
(2)Alignment(标题对齐方式)
数值型。
0–LeftJustfy:
左对齐(缺省值)
1–RightJustify:
右对齐
2-Center:
居中
(3)BackStyle(背景风格)
布尔型。
0–Transparent:
透明
1–Opaque:
不透明。
可设置BackColor色彩(缺省值)
(4)BorderStyle(边界风格)
数值型。
0–None:
无边框(缺省值)
1–FixedSingle:
有边框
(5)AutoSize(自动调整尺寸)
布尔型。
根据文本尺寸调整标签宽度。
True:
自动调整
False:
保持设计时尺寸(缺省值)
(6)WordWrap(文本绕回)
布尔型。
与Autosize配合使用
1Autosize值为False时,标签不变。
2Autosize值为True时,WordWrap值为:
True:
标签水平方向不变,垂直方向变化以适应文本尺寸;
False:
标签垂直方向不变,水平方向变化以适应文本尺寸(缺省值)
例3-8Autosize和Wordwrap例
例3-3“喜迎千禧年”的立体效果
程序:
PrivateSubCommand1_Click()
Label2.Visible=True
Label2.Left=Label1.Left-80
Label2.Top=Label1.Top-80
EndSub
说明:
对象的层的设置可使用“置前、后方法ZOrder”
格式:
[〈对象名〉.]Zorder[0|1]
其中:
0:
置前(缺省)
1:
置后
二、文本框(TextBox)
1、常用属性:
Text
MaxLength
MultiLine
ScrollBars
(1)Text(文本)
字符型。
格式:
〈对象名〉[.Text ]=〈字符串〉
功能:
返回、显示或编辑文本框中内容。
例如:
Text1=“VB程序设计”
Print Text1.Text
(2)MaxLength(文本的最大字符个数)
数值型。
0:
可变长度(默认值)
大于0的值:
最大字符数
(3)MultiLine(多行文本)
布尔型。
True:
使用多行文本输入。
False:
仅能输入一行(默认值)
(4)ScrollBars(滚动条)
数值型。
0–None没有滚动条(默认值)
1–Horizontal水平滚动条
2–Vertical垂直滚动条
3–Both双向滚动条
其中1、2、3仅当MultiLine为True时有效
2、常用事件和方法
Click
DblClick
KeyPressKeyUpKeyDown
Change
SetFocus方法
GotFocus
LostFocus
(1)Change事件
当文本框中信息发生变化时(当用户向文本框中输入新的信息或代码方式对Text属性赋值),触发Change事件。
(2)SetFocus方法
格式:
[〈对象名〉.]SetFocus
功能:
将焦点移到指定对象上,使对象获得焦点。
所谓焦点是接收用户鼠标或键盘输入的能力。
当对象具有焦点时,可接收用户的输入。
Windows规定在同一时间只能有一个窗口、窗体、或控件对象具有处理键盘输入或接受鼠标输入的能力。
例3_5_1
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13ThenText2.SetFocus
EndSub
PrivateSubText2_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13ThenText3.SetFocus
EndSub
PrivateSubText3_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13ThenText4.SetFocus
EndSub
PrivateSubText4_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13ThenText1.SetFocus
EndSub
说明:
1当控件属性Visible或Enabled为True时,控件才能接收焦点;
2窗体、图片框、文本框、按钮、组合框、多选框、单选框可以接收焦点,图像框、标签、框架、计时器不具备焦点功能。
3当对象接收焦点时,触发GotFocus事件,失去焦点时,触发LostFocus事件。
4程序运行时,还可以用下办法改变焦点:
●用鼠标点击对象;
●Tab键或Shift+Tab键
●用户热键
例S3-12计算零钱程序
程序:
PrivateSubCommand1_Click()
x=Val(Text1.Text)
y=x\100:
Text2.Text=y
x=x-100*y
y=x\50:
Text3.Text=y
x=x-50*y
y=x\10:
Text4.Text=y
x=x-10*y
y=x\5:
Text5.Text=y
x=x-5*y
y=x\2:
Text6.Text=y
x=x-2*y:
Text7.Text=x
EndSub
PrivateSubText1_Change()
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text6.Text=""
Text7.Text=""
EndSub
§5.2图片框(PictureBox)和图像框(Image)
共同点:
显示图片(BMP、ICO、GIF、JPG)
不同点:
图片框是容器。
能使用Print、Cls方法及绘图语句。
图像框仅能显示图片。
仅介绍图片框的使用
1、常用属性
Picture
AutoSize
Current
1Picture属性
功能:
用于接受图形信息。
图形的加载方式:
属性
剪贴板
代码方式:
使用LoadPicture函数
格式:
[〈对象名〉.]Picture=Loadpicture([“图形文件名”])
其中文件名指定路径,如果缺省为消除图形。
例如:
Picture=LoadPicture()
2Autosize属性
布尔型。
自动调整图片框尺寸以适应图像的大小
说明:
在图像框(Image)控件中,对应属性为:
Stretch
功能:
自动调整图像大小以适应图像框的尺寸。
3CurrentX和CurrentY属性
数值型。
设置或返回下一次Print方法或绘图语句的输出项的X、Y坐标值,常用于打印机、窗体和图片框。
例3_5_2打印阴影字。
程序:
PrivateSubCommand1_Click()
Cls
ForeColor=QBColor(0)
Me.CurrentX=500
Me.CurrentY=100
x=Me.CurrentX
y=Me.CurrentY
Print"喜迎千禧年"
ForeColor=QBColor(15)
Me.CurrentX=x+50
Me.CurrentY=y+50
Print"喜迎千禧年"
EndSub
例S3-6
程序:
PrivateSubCommand1_Click()
Dima$,w%,h%,x%,y%
Picture1.FontName="隶书"
Picture1.FontSize=60
Picture1.ForeColor=QBColor
(1)'blue
a="喜迎千禧年"
w=Picture1.TextWidth(a)/2
h=Picture1.TextHeight(a)/2
Picture1.CurrentX=Picture1.Width/2-w
Picture1.CurrentY=Picture1.Height/2-h
x=Picture1.CurrentX
y=Picture1.CurrentY
Picture1.Printa
Picture1.ForeColor=QBColor(6)'yellow
Picture1.CurrentX=x+60
Picture1.CurrentY=y+60
Picture1.Printa
EndSub
PrivateSubCommand2_Click()
Picture1.Cls
EndSub
说明:
TextWidth和TextHeight方法分别返回文本行的宽和高。
格式:
[〈对象名〉.]TextWidth(〈字符串〉)
[〈对象名〉.]TextHeight(〈字符串〉)
§5.4VisualBasic代码方式下移动控件的两种办法
使用Move方法
直接改变控件位置定义的属性
1、Move方法
格式[<对象名>.]Move<左边距>[,<上边距>[,<宽度>[,<高度>]]]
功能用于在程序中移动窗体和控件即改变它们的大小(除了时钟Timer和菜单Menu),单位:
缇。
对象名缺省为当前窗体。
例:
3_5_4
Form1.Move800,800,3990,2600
Text1.Move200,200,1500,800'text1的移动是以窗体为坐标的
Command1.Move1800,200,1500,800
Text1.FontSize=20
Text1.Text="Moved"
说明:
两种移动方式
①绝对移动
当对象在其容器中移动到指定坐标处时,就是绝对移动。
例:
将名为textl的控件,移动到坐标(100,200)处:
text1.move100,200
②相对移动
通过指定从当前位置应当移动的距离,使控件移动时,就是相对移动。
将名为textl的控件移动到它当前位置向右和向下100缇处:
Text1.moveText1.left+100,text1.top+100
2、使用Left和Top属性
Left届性是控件左上角到窗体左边的距离。
Top属性是控件左上角到窗体上边的距离。
例:
Text1.left=200
text1.top=300
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课件 顺序 结构 43