1、工程应用培训教材Visual Basic 6.0 程序员培训教程 第五节 窗体与控件应用背景窗体是应用程序工程的主体,所有控件都绘制在窗体上,程序每运行一个窗体,就是一个用户与程序交互的场所,也就是完成一个程序功能,因此程序的窗体数量经常被用于衡量一个软件工程的工作量大小。控件是绘制在窗体上用于实现程序功能而提供的具有特殊功能的对象,这些对象有自己的属性、方法,并可 单独引发自己的 windows 事件。但控件必须依赖于窗体,就是说 没有窗体,就没有控件。不论是窗体还是控件,都有一个名字,只有在控件数组情况下,控件名称才允许重复,但控件属性中代表索引号的 Index 值是不同的。下图 5-1
2、总结了 VB 程序设计 的 6 个主要要素。图 5-1 VB 程序设计要点知识要点(1) 窗体 FormName:对象名称,可以认为是变量名,不能重复。主要属性:Top:位置属性,距离顶部的大小Left: 位置属性,距离左侧的大小Width:宽 度大小Height:高度大小BackColor:背景色主要方法:Show:加载到内存,并显示出来Hide:隐藏起来Move:移动窗体工程 窗体 控件属性 方法 事件VB 程序工程应用培训教材Visual Basic 6.0 程序员培训教程 主要事件:Load:在窗体加在到内存时发生的加载事件,完成初始化工作。UnLoad:在窗体关 闭或卸载时发生的事件
3、,完成结束工作。Activate:窗体显示时,处于激活状态发生的事件。Resize:窗体改变大小时,发生的事件。Paint:窗体有时由于遮掩等会发生重新绘制事件。(2) 文本框 TextName:对象名称,代表文本框名字。主要属性:Text:代表 显示的内容,与 键盘 交互的内容Enabled:失效标记,True 和 False主要事件:Change 事件:当改 变文本框内容时, 发生的事件。(3)命令按钮 CommandName:对象名称,代表命令按钮名字。Caption:显示的字符串Enabled:失效标记,True 和 False主要事件:Click 事件:鼠标点击事件。(4)标签 La
4、bleName:对象名称,代表标签名字。主要属性:Caption:显示的字符串BackColor:背景色彩主要事件:Click 事件:鼠标点击事件。(5)时间控件 TimerName: 对象名称,代表命令按钮名字。主要属性:Enabled:有效属性Interval:发生 Timer 事件的时间间 隔,单位为 ms主要事件:Timer 事件:每间隔 Interval 时间发 生一次事件(6)ScrollBar 控件Name: 对象名称,代表命令按钮名字。主要属性:Min:滑块 位置的最小 值Max:滑块位置的最大值工程应用培训教材Visual Basic 6.0 程序员培训教程 Value:控件
5、的位置,在 Min 和 Max 之间主要事件:Change 事件:当滑 块移动的情况下发生的事件(7)Combox 和 List 控件Name: 对象名称,代表命令按钮名字。主要属性:ListCount:当前列表项的数量。ListIndex:当前列表中的选中列表项。List:列表项目的字符串数组。主要方法:Clear:将清空所有属性 List 列表中的数值字符串。AddItem:增加属性 List 列表项目。主要事件:Click 事件:鼠标点击事件。Change 事件:选项 列表选择发生变化发生的事件。应用举例:例 1:编写窗体加载事件程序,改 变窗体大小为 4000*3000,背景色彩 该为
6、vbBlue,并使窗体居于屏幕居中。1新建标准 EXE 工程 1,工程开始对象默认为窗体 Form1。2选中工程窗口的窗体 Form1,在设计窗口中双击 Form1,进入 Form1的代码编写窗口,编写窗口的加 载事件如下:Private Sub Form_Load()Form1.Width = 4000Form1.Height = 3000Form1.BackColor = vbBlueForm1.Top = (Screen.Height - Me.Height) / 2Form1.Left = (Screen.Width - Me.Width) / 2End Sub例 2:编写文本框 Te
7、xt1 的 Change 事件,要求计算 text1 的平方,并将结果显示在 Text2 上。1在窗体 Form1 上增加 Text1,Text2 两个文本框,添加一个Command1 按钮控件。2分别选中窗体 Form1 上的两个文本框,在属性窗口中更改 Text1和 Text2 的 Text 属性为空。3在设计窗口中,双击文本框 Text1,进入窗体的代码的 Text1 的工程应用培训教材Visual Basic 6.0 程序员培训教程 Change 事件,代码编写如下:Private Sub Text1_Change()Text2.Text = Val(Text1.Text) * Val
8、(Text1.Text)End Sub4程序运行结果参见图 5-2,程序中 val()函数完成将文本框的 Text 属性转变为数字。图 5-2 程序运行结果例 3:编写命令按钮事件,要求 计算文本框 Text1,Text2,Text3 之和,并将 结果显示在 Text4 上。1在窗体 Form1 上添加 Text1,Text2,Text3,Text4 共 4 个文本框,添加一个 Command1 按钮控件。2分别选中窗体 Form1 上的 4 个文本框,在属性窗口中更改文本框的 Text 属性为 空。3在设计窗口中,双击命令按钮 Command1,进入窗体代码的Command1 的 Click
9、 事件,代 码编写如下:Private Sub Command1_Click()Text4.Text = Val(Text1.Text) + Val(Text2.Text) + Val(Text3.Text)End Sub工程应用培训教材Visual Basic 6.0 程序员培训教程 图 5-3 程序运行结果4程序运行结果见图 2,val()函数将字符串强制转换为数字。例 4:编写程序,使窗体 Form1 和 Form2 相互之间隐藏切换。1在上面例题基础上,添加 Form2 窗体,2在窗体 Form1 的 Click 事件中, 显示 Form2 隐藏 Form1;在 Form2的 Clic
10、k 事件中显示 Form1 隐 藏 Form2.其中代词 me,指代当前窗体。Form1 的 click 事件,代码如下:Private Sub Form_Click()Form2.ShowMe.HideEnd SubForm2 的 Click 事件,代码如下:Private Sub Form_Click()Form1.ShowMe.HideEnd Sub3. 编写窗体 Form2 的加载事件 ,使窗体 Form2 居中于屏幕。代码如下:Private Sub Form_load()Me.Left = (Screen.Width - Me.Width) / 2Me.Top = (Screen.
11、Height - Me.Height) / 2End Sub例 5:编写程序,不断改变窗体的背景色1在上面例题上的 Form2 窗体上增加 3 个为控件数组的滚动条HScroll1,Index 属性分别为 0,1,2,更改三个滚动条的 min 属性为 0,Max属性为 255。在窗体的 Load 事件中,增击随机数的初始化函数。2载窗体上增加一个 Timer1 控件,更改 interval 属性为 100,即间隔工程应用培训教材Visual Basic 6.0 程序员培训教程 0.1s 发生一次 Timer 事件。编 写 Timer1 控件的 Timer 事件如下:Private Sub Ti
12、mer1_Timer()HScroll1(0).Value = Int(255 * Rnd) + 1HScroll1(1).Value = Int(255 * Rnd) + 1HScroll1(2).Value = Int(255 * Rnd) + 1Form2.BackColor = RGB(HScroll1(0).Value, HScroll1(1).Value, HScroll1(2).Value)End Sub3在窗体上增击一个 Command 的控件,点击 Command 控件后,如果 Timer 控件无效,则 Timer 控件有效,否则为无效。 编写其 Click 事件程序如下:P
13、rivate Sub Command1_Click()If Timer1.Enabled = True ThenTimer1.Enabled = FalseElseTimer1.Enabled = TrueEnd IfEnd Sub4程序运行效果为每间隔 0.1s 时间改变一次窗体的背景色。例 6:编写窗体加载程序,使窗体上的 Combox 控件和 Listbox 控件同时添加列表记录为:0 到 19,并编写 Combox 的点击事件,使 Combox 控件与ListBox 控件的选择一致。1在上面例题中,向窗体上增击一个 Combox 控件 combo1,Listbox 控件 list1。2
14、增加窗体的 Load 事件为如下代码:Private Sub Form_load()Dim i As IntegerMe.Left = (Screen.Width - Me.Width) / 2Me.Top = (Screen.Height - Me.Height) / 2Call Randomize工程应用培训教材Visual Basic 6.0 程序员培训教程 For i = 0 To 19Combo1.AddItem iList1.AddItem iNext iEnd Sub3编写 Combo1 的 Click 事件, 实现 Combo1 与 List1 同步选择,代码如下:Privat
15、e Sub Combo1_Click()List1.ListIndex = Combo1.ListIndexEnd Sub知识扩展:(1)窗体的两个特殊属性:AutoRedraw,KeyPreviewAutoRedraw 属性用来设置窗体的重画属性,可以为 True 和 False;当我们使用 print 方法,在窗体上写字的时候,会发现窗体一旦被其他程序窗体掩盖后,窗体上打印的字就消失拉,这是因为窗体的 AutoRedraw 属性设置为 False,当该为 True 后,窗体每次激活都重新绘制, 这样就把打印的字显示在窗体上。KeyPreview 属性用来设置窗体的键盘响应事件,可以 为 T
16、rue 和False,当 设为 True 时,窗体上所有控件的遇到键盘事件时,先 发生窗体的键盘事件,而后发生控件本身的 键盘事件。培训练习:(1)编写窗体加载事件程序,使窗体运行居于屏幕中间,提示:屏幕对象为Screen,全局对象,他有属性 Left,Top,Width,Height.(2)在窗体上添加 4 个文本框和 4 个标签 Lable,编写命令按 钮点击程序,要求改变文本框 Text1,Text2,Text3 的内容为 Hello,World,Beijing,同 时改变标签 Lable1,Lable2,Lable3 的内容为 Text1,Text2,Text3 的内容。(3)编写文框 Text1,Text2,Text3 的 Change 事件程序,使 Text4 的内容为Text1,Text2,Text3 内容的字符串相连。(4)编写每隔 1s 钟改变一次窗体的背景色,并将背景色的 R,G,B 值显示在三个标签控件上。(5)在窗体上增加一个 Combox 控件 Combo1,请编写窗体加 载事件,增加该列表框控件 Combo1 的列表属性,列表属性为:北京、上海、南京、沈阳、广州、深圳、海口、哈尔滨。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。