vb笔记第六章.docx
《vb笔记第六章.docx》由会员分享,可在线阅读,更多相关《vb笔记第六章.docx(20页珍藏版)》请在冰豆网上搜索。
![vb笔记第六章.docx](https://file1.bdocx.com/fileroot1/2023-1/28/98c623b2-e3c6-4cbe-93cc-66b7c15d07f8/98c623b2-e3c6-4cbe-93cc-66b7c15d07f81.gif)
vb笔记第六章
第六章:
常用控件
设计一个窗体分为三步:
添加控件,设置属性和书写代码
设置对象的属性:
对象名.属性名=值
调用对象的方法:
对象名.方法名
常用的方法有:
show,hide,setfocus
常用的控件及其属性
(1)窗体(Form)
caption:
标题栏上的文字.(即标题)
maxbutton:
指定窗口是否有最大化按钮(即最大化按钮是否可用)
minbutton:
指定窗口是否有最小化按钮(即最小化按钮是否可用)
borderstyle:
边框的样式.默认的连框是可以调动大小的.如果希望不能改变窗口的大小,则需要将borderstyle改为1或3(即固定对话框)
icon:
指定窗口的图标,(可以设置为一些扩展名为.ico的图标文件)
(2)标签(Label)
caption:
标签中的显示的文字.
font属性:
用于设置标签中的字体大小.
在属性框中设置与字体有关的属性,是直接设置font,而在代码中设置属性,则必须设置如下属性:
fontsize:
字体的大小(如9号)
fontname:
字体的样式(如隶书)
fontbold:
字体是否以粗体显示
fontitalic:
字体是否是斜体
fontunderline:
字体是否有下划线
forecolor:
字体的颜色
例:
新建一个如图所示的窗口,要求在运行时,单击"改变字体",则将"你好"设置为20号字,粗体,下划线,字的颜色为红色.
在"改变字体"中写代码:
Label1.FontSize=20
Label1.FontBold=True
Label1.FontUnderline=True
Label1.ForeColor=RGB(255,0,0)'也可以将rgb()改写为vbred
(3)文本框(Text)
text:
框中的内容
passwordchar:
指定文本框中显示的字符(一般为占位符)通常用于保密设置,习惯上设置为*号
例:
新建一个如图所示的窗口,要求:
当在文本框中输入时,文本框2中自动显示相同的内容,当单击"明码"时,则显示原样的文字,而单击"密码"时,则在text2中显示若干个*号,单击"清除"时,将文本框1的内容清除,同时光标定位在第一个文本框中.
PrivateSubCommand1_Click()'在按钮Command中的Click中写代码.(只需要写中间这句就可以
Text2.PasswordChar=""
EndSub
PrivateSubCommand2_Click()
Text2.PasswordChar="*"
EndSub
PrivateSubCommand3_Click()
Text1.Text=""
Text1.SetFocus
EndSub
PrivateSubText1_Change()
Text2.Text=Text1.Text
EndSub
空两面
(4)命令按钮(Command)
caption:
按钮的文字,即标题
default属性:
指定按钮是否可以响应Enter键(回车键),即按下回车键相当于去单击此按钮.
cancel:
指定按钮是否可以响应Esc键,即按下ESc,等同于单击此按钮.
如何为一个按钮设置访问键(即热键)?
?
在按钮的caption的后面加上&字母,该字母就是热键.
例:
设计一个如图所示的窗口,要求单击"确定"时,则将窗口的标题设置为"abcd",要求按回车键也可以实现此功能.单击"取消"时,结束程序.要求按Esc键也可以实现此功能
在"确定"按钮中书写代码:
form1.caption="abcd"
在"取消"中写代码:
end
为了实现按Esc和enter键等同于单击按钮,需要将"确定"的default属性设置为true,"取消"的cancel属性设置为true
(5)复选框(checkbox)-->方框打勾
caption:
复选框旁边的文字.
value:
复选框是否被选中(即打上勾),0-->未选中,1-->选中,2-->不确定.
例:
新建一个如图所示的窗口,要求"武汉大学"会随着相应的选择而改变.(即当选择"粗体"时,武汉大学会加粗)
在"粗体"复选框(即check1中写代码)
IfCheck1.Value=1Then
Label1.FontBold=True
Else
Label1.FontBold=False
EndIf
"斜体"(check2)和"下划线"(CHeck3)中代码和"粗体"相似,只需要将check1改为check2和check3,fontbold改为fontitalic(斜体)和fontunderline(下划线)
(6)单选按钮(Option)-->圆圈打点
caption:
按钮旁边的文字.
value:
单选按钮是否被选中。
true表示选中,false表示未选中.
例:
新建一个如图所示的窗口sjt3.frm,要求当选择"小学生"时,文本框中显示"我是小学生",当选择"中学生"时,文本框中显示"我是中学生",依次类推.
在option1_click(option1中写代码)
text1.text="我是小学生"
或text1.text=我是option1.caption
在option2_click中书写:
Text1.Text="我是中学生"
或Text1.Text="我是"&Option2.Caption
option3_click略...
(6)框架(frame)-->用于放置其它控件
caption:
标题
如何将控件放在框架中?
(1)在框架中画控件
(2)将控件剪切再粘贴到框架中.
例:
新建一个如图所示的窗体sjt4.frm,要求如下:
文本框中的字体随着相应的选择而改变
PrivateSubOption1_Click()
Text1.FontName="宋体"
EndSub
PrivateSubOption2_Click()
Text1.FontName="黑体"
EndSub
PrivateSubOption3_Click()
Text1.FontSize=8
EndSub
PrivateSubOption4_Click()
Text1.FontSize=12
EndSub
(7)时钟(timer)-->也叫计时器,如果窗口上有自动(变动)的效果,表示窗口上有时钟.
常用的属性:
1)interval:
表示时钟间隔多久发生一次timer事件(计时),单击为毫秒.如设置为1000,表示一秒.
2)enabled:
表示时钟是否可用.当enabled为false,表示时间停止.
常用的事件:
timer事件(计时事件):
表示间隔interval属性所指定的时间自动引发一次.
例:
新建一个如图所示的窗口lx1.frm,运行时,”欢迎进行本系统”从窗口的右侧缓缓向左移动,当移到最左边时,则从窗口最右边继续开始.工程文件名为lx1.vbp
方法:
添加一个标签和时钟(timer),设置时钟的interval属性为100,然后在timer事件中写代码:
PrivateSubTimer1_Timer()
IfLabel1.Left<=-Label1.WidthThen
Label1.Left=Form1.Width
Else
Label1.Left=Label1.Left–200‘标签向左移动200
EndIf
EndSub
思考:
如果最终”欢迎进入本系统”不动,在运行时,单击”开始”则开始移动,单击”停止”,字停止不动.
添加两个按钮,开始,停止,最初将timer1的enabled设置为false,然后在开始和停止中写代码:
开始代码为:
timer1.enabled=true
“停止”代码为:
timer1.enabled=false
例:
编写程序,用计算器进行计时.在窗体上画一个标签和一个计时器,程序运行时,在标签中显示经过的秒数,并响铃.
在通用声明中书写:
DimnAsInteger
PrivateSubTimer1_Timer()
n=n+1
Label1.Caption=n
Beep‘响铃
EndSub
(8)图像框(image)-->其中用于显示图片
picture:
图像框中显示的图片.
在属性窗口中设置picture属性直接设置,当要删除picture属性中的图片时,按delete键.
而在代码中设置图片必须要写成:
image1.picture=loadpicture(“图片位置和名称”)
stretch:
图像框的大小是否随着图片的大小而改变.
当值为false时,表示图像框自动随着图片的大小而改变.
为true时,表示自动缩放图片以适应图像框的大小.
例:
在名称为Form1的窗体上画一个名称为Image1的图象框,利用属性窗口装入考生目录下的图象文件pic1.bmp,并设置适当属性使其中的图象可以适应图象框大小;再画两个命令按钮,名称分别为Command1、Command2,标题分别为“向右移动”、“向下移动”。
请编写适当的事件过程,使得在运行时,每单击“向右移动”按钮一次,图象框向右移动100;每单
击“向下移动”按钮一次,图象框向下移动100。
运行时的窗体如图所示。
要求程序中不得使用变量,事件过程中只能写一条语句。
注意:
存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名为sjt2.frm。
注意:
首先将image1的stretch设置为true,然后才能设置picture属性.
代码如下;
PrivateSubCommand1_Click()‘向右移动
Image1.Left=Image1.Left+100
EndSub
PrivateSubCommand2_Click()‘向下移动
Image1.Top=Image1.Top+100
EndSub
例:
在名称为Form1的窗体上画一个名称为image1的图像框,其宽和高分别为1700、1900。
请编写适当事件过程,使得在运行时,单击图像框,则装入考生目录下的图形文件pic1.bmp,如图所示。
单击窗体则图像框中的图形消失。
要求程序中不得使用变量,每个事件过程中只能写一条语句。
注意:
存盘时必须存放在考生文件夹下,工程文件名为sjt2.vbp,窗体文件名
为sjt2.frm。
PrivateSubForm_Click()
Picture1.Picture=LoadPicture("")
EndSub
PrivateSubPicture1_Click()
Picture1.Picture=LoadPicture("6.jpg")
EndSub
例:
编一屏幕保护程序,运行时不断显示不同的图片,单击鼠标,退出程序。
前提:
在D盘中存放了10幅图片,文件名分别为0.jpg,1.jpg....9.jpg。
主要控件有:
form1,image1(也可用picture1),timer1
各主要属性设置如下:
窗体form1:
borderstyle设置为0,无标题栏。
windowstate设置为2,即运行后最大化。
计时器timer1:
interval属性设为2000(可根据需要调整)
图像框控件:
image1:
picture属性设为0.jpg,并将图像框拖至最左上端(与窗体form1左上端对齐)。
stretch为false,即改变图像框大小自动适应图片大小。
(若是图片控件picture1:
picture属性设为0.jpg。
autosize设为true。
)
主要代码如下:
在通用的声明中书写代码:
dimiasinteger
PrivateSubimage1_Click()'若是图片控件,则为picture1_click
End
EndSub
PrivateSubTimer1_Timer()
Picture1.Picture=LoadPicture("d:
\"&i&".jpg")
i=i+1
ifi=10theni=0
EndSub
(9)图片框(picturebox)-->可以用于显示图片,还可以显示文字,还可以放置图形.
设置对象(控件)的属性:
对象名.属性名=值
调用对象的方法:
对象名.方法名
当省略对象名时,默认为窗口.
如caption=”大家好”就是将窗口的标题设置为大家好
cls-->表示清屏(清除窗口上显示的内容)
picture1.cls(清除图片框中的内容)
print3
picture1.print3
一.常用属性:
picture属性:
指定图片框中显示的图片
autosize:
自动大小.
当autosize为true时,表示图片框的大小随着图片的大小而改变.
align:
图片框的位置.
1-->位于窗口的最上面,和窗口同宽
2-->位于窗口的最下面,和窗口同宽
3-->位于窗口的最左边,和窗口同高
4-->位于窗口的最右边,和窗口同高
例:
设计一个如图所示的窗口,要求:
当单击B时,则将文本框中的文字加粗.并且B按钮陷下去,状态栏上提示”已加粗!
”,将再次单击时,则B按钮弹出,则时,文本框中的文字取消粗体显示.并且状态栏上提示:
”未加粗”依次类推
PrivateSubImage1_Click()
IfImage1.BorderStyle=0Then
Image1.BorderStyle=1
Text1.FontBold=True
Picture1.Cls
Picture1.Print"已加粗!
"
Else
Image1.BorderStyle=0
Text1.FontBold=False
Picture1.Cls
Picture1.Print"已取消加粗!
"
EndIf
EndSub
(10)线条(line)-->用于美观
bordercolor:
线条的颜色.
bordstyle:
线条的样式.实线,点线或虚线等等.
bordwidth:
线的粗细.
x1,y1和x2,y2表示线条两个端点的坐标.
(12)形状(shape)-->通常和线条一样,用于美观
shape:
表示图形的形状.
0-->代表矩形,1-->代表正方形,2-->代表椭圆,3-->圆形,4-->代表圆角矩形,5-->圆角正方形
bordercolor:
图形边框线条的颜色.
bordstyle:
图形边框线条的样式.实线,点线或虚线等等.
bordwidth:
图形边框线的粗细.
Left、Top、Height、Width
和线段控件不同,形状控件使用Left、Top、Height、Width这四个属性来设置图形相对窗体或其他容器控件的位置。
FillStyle和FillColor属性
用FillStyle属性设置填充图形时的方式,有8种方式可供选择,如下表所示:
0 实线1 透明(缺省值)
2 水平直线3 垂直直线
4 上斜对角线5 下斜对角线
6 十字线7 交叉对角线
使用FillColor属性来设置填充闭合图形时使用的颜色。
(13)滚动条
滚动条用于表示连续变化的数量、音量、速度、时间、进度等信息。
滚动条有一个最大值和最小值,用户移动滑块可以在最大值和最小值之间指定一个数值,VisualBasic为用户提供了水平滚动条控件(HScrollBar)和垂直滚动条控件(VScrollBar)。
一、常用属性
①、Name属性(名称)
②、上界属性(Max)和下界属性(Min)
Max属性用于返回或设置当滚动框处于底部或最右位置时,一个滚动条的最大设置值;
Min属性用来返回或设置当滚动框处于顶部或最左位置时,一个滚动条的最小设置值。
③、数值属性(Value)
Value属性用来返回或设置滚动块当前位置的数值。
④、大改变属性(LargeChange)和小改变属性(SmallChange)
LargeChange属性用来设置用户单击滚动块和滚动箭头之间的区域时,滚动条控件的Value属性值的改变量。
SmallChange属性用来设置用户单击滚动箭头时,滚动条控件的Value属性值的改变量。
二、常用事件
Change事件
在使用鼠标单击滚动条两头的滚动箭头时或拖动滑块后松开鼠标时发生的,还可以在程序中通过代码改变Value属性的设置时激活此事件。
例:
用滚动条改变颜色属性值。
程序的运行时,移动红色、绿色、蓝色水平滚动条可以改变窗口上部图片框的颜色。
所有的颜色都是由三种基本颜色(三原色):
红色、绿色和蓝色按一定的比例合成的,WINDOWS中生成就利用这个特点生成各种颜色的,共有三种方法:
①、语法:
QBColor(color)
QBColor函数返回一个颜色码。
color参数是一个界于0到15的整型。
color参数常用值对应如下:
值颜色值颜色
0黑色8灰色
1兰色9亮兰色
2绿色10亮绿色
3青色11亮青色
4红色12亮红色
5洋红色13亮洋红色
6黄色14亮黄色
7白色15亮白色
如:
text1.forecolor=QBCOLOR(4)
②、常量法(符号常量法)
颜色符号常量数值
黑色VBBlack0或H0
红色VBRed255或HFF
绿色VBGreen65280或HFF00
黄色VBYellow65535
蓝色VBBlue16711680或HFF0000
洋红VBMagenta16711935
青色VBCyan16776960
白色VBWhite16777215
如:
text1.forecolor=VBred
③、RGB合成法
RGB合成法可以合成各种各种的颜色。
使用语法:
RGB(red,green,blue)
red、green和blue参数的数值范围是从0到255,各自表示颜色中的红色成份、绿色成分和蓝色成分。
例:
编写如下图所示的程序:
说明:
当三个滚动条值改变时,picture1背景色设置为当前rgb(红,绿,兰),label4的文字颜色与picture1的背景色相同,同时picture2显示当前红,绿,兰的取值信息。
主要控件属性取值如下:
三个滚动条:
min=0max=255largechange=10
picture1:
borderstyle值为0,无边框
picture2:
align为2,即靠底端。
borderstyle值为1,有边框,autoredraw(自动重绘)为true。
(否则,在初次运行,或最小化时,改变窗体大小时,会出现不正常情况)
PrivateSubHScroll1_Change()
Picture1.Cls
Label1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
Text1.ForeColor=Label1.BackColor
Picture1.Print"红:
";HScroll1.Value;"绿:
";HScroll2.Value;"兰";HScroll3.Value
EndSub
PrivateSubHScroll2_Change()
Picture1.Cls
Label1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
Text1.ForeColor=Label1.BackColor
Picture1.Print"红:
";HScroll1.Value;"绿:
";HScroll2.Value;"兰";HScroll3.Value
EndSub
PrivateSubHScroll3_Change()
Picture1.Cls
Label1.BackColor=RGB(HScroll1.Value,HScroll2.Value,HScroll3.Value)
Text1.ForeColor=Label1.BackColor
Picture1.Print"红:
";HScroll1.Value;"绿:
";HScroll2.Value;"兰";HScroll3.Value
EndSub
(14)列表框(Listbox)
常用的属性:
listcount:
列表框中条目的个数.
list(i)-->列表框中第i项的内容,第一项的内容为list(0)
selected(i)-->列表框中第i项是否被选中,值为true或false
text-->列表框中被选中的条目的内容.
listindex:
返回所选择的项的序号(从0开始)
style-->列表框的样式.0-->标准,1-->复选框样式(可以多选)
multiselect:
列表框中是否可以进行多重选择.0-->不能.
1-->依次单击可以多选
2-->按shift键和ctrl键再单击可以多选.
sorted:
表示列表框的条目是否进行排序.
常用方法:
添加条目到列表框:
additem要添加的条目的内容
从列表框中移出条目:
removeitem要移动的项的序号(序号从0开始)
clear:
清除列表框的内容
例1:
dimiasinteger,nasinteger
n=5
i=1
dowhilei<=n
print20
n=n-1
i=i+1
loop
?
n,i
以上程序输出3次20,并且n为2,i为4
例2:
dimiasinteger,nasinteger
n=5
fori=1tonstep1
print20
n=n-1
nexti
?
n,i
以上程序输出5次20,并且n为0,i为6
while循环每次都要判断条件(计算条件),而for循环在循环的第一次就确定的条件,以后不再改变fori=1tonstep1无论n在循环中如何变,那么i<=第一次的n
3、常用的事件
列表框最经常使用的是:
Click(鼠标单击)事件和DbClick(鼠标双击)事件,单击表示当前选中的项目。
(15)组合框(combo):
由文本框和列表框构成.因此在很多属性和列表框相同.如listcount,list(i)等等.
style组合框的样式,
0 下拉式组合框(缺省值)
1 简单组合框(列表已显示,不可下拉)
2 下拉式列表框(文本框中不