【VB开源代码栏目提醒】:网学会员,鉴于大家对VB开源代码十分关注,论文会员在此为大家搜集整理了“VB2 创建用户界面 - 综合课件”一文,供大家参考学习!
中国药科大学计算机教研室Visual Basic程序设计武小川xiaochuan_wu163.com中国药科大学计算机教研室Visual Basic程序设计2掌握窗体的常用属性、事件和方法以及多窗体和MDI窗体的概念掌握常用控件文本框、标签、命令按钮、列表框、组合框、图片框、单选按钮和复选框的常用属性、事件和方法掌握菜单的制作和使用方法。
中国药科大学计算机教研室Visual Basic程序设计32.1创建窗体2.2VisualBasic的常用控件2.3制作菜单中国药科大学计算机教研室Visual Basic程序设计4窗体窗体是
VB应用程序的基本构造模块用于创建
VB应用程序用户界面或对话框是包容各种控件对象的容器。
由标题栏、边框以及客户区组成。
中国药科大学计算机教研室Visual Basic程序设计52.1.1 Name名称窗体名称在程序
代码中被作为对象的标识名以识别不同的窗体对象自行命名窗体时必须以一个字母开头可包含数字和下划线不能包含空格和标点符号长度小于40个字符。
Caption窗体标题是出现在窗体标题栏上的文本缺省使用窗体名。
BackColor与ForeColor窗体的背景色与前景色。
BorderStyle窗体边框风格。
设定值及相关的
VB内部常量及不同风格详见下表1、
常用属性中国药科大学计算机教研室Visual Basic程序设计6常数设置值描述vbBSNone 0无没有边框或与边框相关的元素vbFixedSingle 1 固定单边框。
可以包含控制菜单框标题栏和关闭按钮不能改变尺寸。
vbSizable 2可调整的边框。
可以改变窗体大小。
缺省值vbFixedDouble 3对话框风格的窗体。
大小不能改变。
vbFixedToolWindow4 工具栏风格窗体。
大小不能改变。
vbSizableToolWindow 5 工具栏风格窗体。
大小可变。
BorderStyle属性的六种设置值中国药科大学计算机教研室Visual Basic程序设计7Enabled活动属性。
缺省值为”True”当设臵为”False”时窗口及其上控件将不能被访问。
Left、Top、Height和Width决定窗体位臵与大小。
Left和Top??是窗体左上角的坐标屏幕左上角为坐标零点Height和Width是窗体的高度和宽度??单位均为特维Font字体属性设置窗体上正文字体、字型、字号等Visible:可见属性。
缺省为“True”当设置为“False”时窗体隐藏注意此属性只在运行时生效。
Picture:背景图片属性。
Moveable可移动属性缺省为True窗体在运行时可拖动False时不能拖动窗体常用属性中国药科大学计算机教研室Visual Basic程序设计8在
VB中有两种设臵窗体或其他对象属性值的方法。
在设计时通过属性窗口为其设定各种属性值在程序执行过程中改变属性值即通过程序
代码改变属性值在程序
代码中则使用如下格式的
代码行来改变属性值Object.PropertyExpression式中Object是对象名Property是属于该对象的某个属性名Expression是为该属性赋予的值必须和属性类型一致即属性是字符型表达式也应是字符型属性是逻辑型表达式也应是逻辑型。
例Labe11.Caption“欢迎
学习VB”Form1.EnableFalseForm1.CaptionLabel1.Caption中国药科大学计算机教研室Visual Basic程序设计9窗体的常用方法Show显示方法 如form2.ShowHide隐藏方法如form2.HideMove移动方法如form1.Move lefttopwidthheightPrint打印方法Cls清除方法清除窗体上所有打印的文本或图形Refresh刷新方法通常窗体的刷新是自动进行的。
方法可使对象执行一个动作或任务。
使用方法的格式是对象名.方法或对象名.方法Arg1Arg2...后一种方法是带有参数的方法。
中国药科大学计算机教研室Visual Basic程序设计10Private Sub Command1_ClickDim inchw inchhinchw Form1.Widthinchh Form1.HeightMsgBox “将窗体移动到屏幕的左上角 同时尺寸缩小为原来的一半quotForm1.Move 0 0 inchw / 2 inchh / 2End Sub例: 使用Move方法移动一个窗体重新定位在屏幕左上角尺寸缩小一倍。
举例中国药科大学计算机教研室Visual Basic程序设计11事件能够被对象所识别的动作当某事件发生了系统会自动执行其事件过程内的
代码事件过程的一般格式Private Sub 对象名_事件名参数表程序
代码End Sub例如窗体的常用事件Click单击事件DblClick双击事件Load装载事件Resize在窗体被改变大小时会触发本事件Activate激活事件当窗体变为当前窗口时引发本事件Deactivate失去激活事件当窗体失去激活状态即另一个窗体成为当前窗口时引发本事件。
Private Sub Form_Click??
vb语句End Sub中国药科大学计算机教研室Visual Basic程序设计122.1.3 窗体的显示、隐藏、装载和卸载1、窗体的显示与隐藏2、装载窗体和Load事件3、卸载窗体与Unload事件4、End 语句中国药科大学计算机教研室Visual Basic程序设计131显示窗体可在程序中加入以下
代码Formname.Show Style其中Formname是要显示的窗体名。
Show方法的Style参数决定窗体是有模式的vbModel还是无模式的vbModeless。
有模式窗体不允许用户同时与应用程序的其他窗体交互如Windows程序中的命令执行确认窗口无模式窗体则允许用户与一个程序的其他窗口自由交互如
VB环境中的工程、属性和
代码窗口等缺省值是无模式1、窗体的显示与隐藏2隐藏窗体可在程序中加入以下
代码Formname.Hide其中Formname是要隐藏的窗体名。
中国药科大学计算机教研室Visual Basic程序设计141编写事件过程时建议不要自行输入程序框架而应选定对象和事件过程由
系统自动产生框架。
2命令按钮1的单击事件名为Command1_Click命令按钮2的单击事件名为Command2_Click但对于一个窗体单击事件过程名为Form_Click而不是Form1_Click即窗体的事件过程中的对象名是FORM而非具体的name属性值。
例单击窗体1显示窗体2。
Private Sub Form_ClickForm2.ShowEnd Sub中国药科大学计算机教研室Visual Basic程序设计15使用装载语句可把窗体或其他对象载入内存但并不显示它。
装载语句的格式是Load Object其中Object是窗体名对象名由于
VB应用程序在执行时会自动装载启动窗体所以没有必要对启动窗体使用Load语句。
当系统装载窗体时将引发窗体的Load事件在使用Show方法显示窗体时也会自动将尚未载入内存的窗体装入内存并引发该窗体的Load事件。
中国药科大学计算机教研室Visual Basic程序设计163、卸载窗体与Unload事件使用卸载语句可把窗体或其他对象从内存卸载。
卸载语句的格式是Unload Object 其中Object是窗体名对象名卸载将使该对象的所有属性重新恢复为设计态时设定的初始值卸载还将引发对象的Unload事件。
如果卸载的对象是程序唯一的窗体则将终止程序的运行。
一起来看个例子吧中国药科大学计算机教研室Visual Basic程序设计17在程序
代码中可使用End语句结束程序运行形式是End执行该语句将终止应用程序的执行并从内存卸载所有窗体。
中国药科大学计算机教研室Visual Basic程序设计18格式Object.Print lt输出项表gt功能将输出项显示在窗体或图片框上。
说明1对象名缺省则输出到窗体上2输出项之间用逗号或分号间隔若用逗号间隔则为标准输出若用分号间隔则为紧凑输出。
Private Sub command1_ClickPrint 1 2 3Print 1 2 3PrintPrint quotabquot quotcdquotPrint quotabquot quotcdquotEnd Sub观察下列Print语句的执行结果。
中国药科大学计算机教研室Visual Basic程序设计19当应用程序中有多个窗体界面时设计时同样先新建一个工程其中有一个窗体form1然后通过下列步骤设计多窗体1、添加并设计窗体“工程”“添加窗体”再依次设计每一个窗体的界面元素以及相应的事件过程2、设臵启动窗体“工程”“工程属性”在“通用”选项卡上设臵“启动对象”。
注意1在启动窗体中必须要有对其他窗体的引用接口可以是菜单命令或命令按钮的形式否则其他窗体将无法显示。
2多窗体应用程序保存时先将每一个窗体以一个独立的窗体文件保存扩展名为.frm再保存工程文件。
3多窗体应用
程序打开时直接打开工程文件将会把该程序中所有的窗体文件都装载。
中国药科大学计算机教研室Visual Basic程序设计20在多窗体应用程序中一般有一个MDI窗体框架父窗体构成外部容器窗口再包括不同的子窗体构成内层窗体界面。
创建MDI应用程序的步骤1、“工程”“添加MDI窗体”2、将应用程序中其它窗体的MDIchild属性设臵为“True”.3、将MDI窗体设臵为启动窗体。
注意1、一个应用程序中只有一个MDI窗体2、在MDI窗体上除PictureBox和Timer外一般不能直接放臵其他控件3、关闭MDI窗体将自动关闭所有打开的子窗体。
4、运行时子窗体只能在MDI窗体内移动。
举例中国药科大学计算机教研室Visual Basic程序
设计212.2.1概述2.2.2常用控件中国药科大学计算机教研室Visual Basic程序设计22控件名功能Pointer指针用于改变控件大小和位置等PictureBox图片框显示图形或图象Label标签用于文字说明显示提示性信息TextBox文本框用于字符输入Frame框架用于组合控件将控件分组CommandButton命令按钮单击执行命令CheckBox复选框用于多项选择OptionButton选项按钮用于从多个选项中单选其一ComboBox组合框列表框与文本框的组合ListBox列表框列出多个选项供选择H.ScrollBar水平滚动条产生水平滚动条V.ScrollBar垂直滚动条产生垂直滚动条Timer计时器用于定时DriveListBox驱动器列表框DirListBox文件夹列表框FileListBox文件列表框Shape图形Line线条Image图象Data数据控件OLE控件中国药科大学
计算机教研室Visual Basic程序设计23
VB通过控件箱提供了这些和用户进行交互的可视化部件即控件。
1.文本框Text Box2.标签Label3.命令按钮Command Button4.列表框ListBox5.组合框ComboBox6.图象控件Image和图片框PictureBox7.选项按钮Option Button、复选框8.CheckBox与框架控件Frame9.滚动条控件HScrollBar和VScrollBar 10.定时器控件Timer中国药科大学计算机教研室Visual Basic程序设计24功能用于接收用户在框内输入的字符信息或显示由程序
代码产生的信息。
属性Name名称文本框的名称Text文本属性该属性值就是用户在文本框输入的内容。
注意TextBox无Caption属性Pass
wordChar口令属性。
本属性缺省值为空字符串表示用户由键盘输入的字符直接在文本框中显示出来如果该属性值为某个字符则文本框中输入的内容均显示为该字符用户看不见实际输入的字符一般可用于口令输入。
如属性值设为中国药科大学计算机教研室Visual Basic程序设计25MaxLength最大长度属性。
缺省为0表示本文本框可以接收任意个字符。
MultiLine多行属性。
本属性值若为“真”则可输入多行文本否则只能输入一行文本。
该属性不能在程序中改变Scrollbars:在文本框中添加水平和垂直滚动条。
0——无1——仅水平滚动条2——仅垂直滚动条3——均有Alignment:对齐属性有三种选择0——缺省值文本左对齐。
1——文本右对齐2——文本居中Left、top、Width、Height:相对于用户区用户区的左上角位置。
文本框前提是MultiLine为True属性中国药科大学计算机教研室Visual Basic程序设计26方法SetFocus设臵焦点通过本方法可使光标指向指定的文本框。
事件Change在文本框的Text属性即文本的内容发生变化时就触发本事件LostFocus当光标离开文本框时引发本事件。
KeyPress:当焦点在文本框并按下任何标准字符集的按键时会引发本事件。
例文本框文本框例在窗体1中的文本框中输入口令单击“判断”按纽如口令正确显示窗体2否则弹出提示错误窗口单击“清空”按纽清除文本框中的口令并将焦点设臵在其中以便下次录入。
中国药科大学计算机教研室Visual Basic程序设计28Private Sub Command1_ClickIfText1.Text quotcpuquot Thenform2_2.ShowElseMsgBox quotsorry you cant enter the form2quotEnd IfEnd Sub密码设臵清空文本框设臵焦点Private Sub Command2_ClickText1.Text quotquotText1.SetFocus End Sub程序
代码中国药科大学计算机教研室Visual Basic程序设计29Private Sub Text1_KeyPressKeyAscii As IntegerIf KeyAscii 13 ThenIf Text1.Text quotcpuquot ThenForm2_2.ShowElseMsgBox quotsorry you cant enter the form2quot quot文本框quotEnd IfEnd IfEnd Sub另外一种触发方式中国药科大学计算机教研室Visual Basic程序设计302、标签Label功能用于在窗体上增加文字说明。
如用作窗体的状态栏或为文本框、列表框等添加注释文字说明等。
1属性Name标签名称Caption标题属性。
本属性值即为标签所显示的文本内容Alignment对齐属性。
缺省值为0将Caption文本左对齐若设为1为右对齐设为2则为居中AutoSize:大小自适应属性当取值为“True”时标签大小会随实际显示的内容Caption而变化缺省为“False”。
WordWrap:字折行属性。
取值为“True”时标签大小垂直扩展即标题文字换行为“False”时则水平拓展缺省“False”该属性只有在AutoSize属性为“True”时才有效。
中国药科大学计算机教研室Visual Basic程序设计312方法Refresh刷新Move移动。
3事件Click单击、DblClick双击很少用及例Label注意标签得不到焦点所以无setfocus方法中国药科大学计算机教研室Visual Basic程序设计32Private Sub Command1_MouseMoveButton As Integer Shift As Integer X As Single Y As SingleLabel1.Left Command1.LeftLabel1.Top Command1.Top Command1.HeightLabel1.WordWrap FalseLabel1.AutoSize TrueLabel1.BackColor vbYellowLabel1.Visible TrueLabel1.Caption quot关闭窗体结束应用程序quotEnd Sub设置颜色使标签可见文本不换行例窗体FORM1上有一个命令按纽“Close”当鼠标光标移动动到该按钮上时在按纽下方显示由LABEL1提供的提示行背景色为“淡黄色”文字为“关闭窗体结束应用程序”。
中国药科大学计算机教研室Visual Basic程序设计33Private Sub Command1_ClickUnload MeEnd Sub除命令按钮外鼠标在窗体其他位臵移动时并不出现标签提示Private Sub Form_MouseMoveButton As Integer Shift As Integer X As Single Y As SingleLabel1.Visible FalseEnd Sub中国药科大学计算机教研室Visual Basic程序设计34功能用户用鼠标单击命令按钮就表示要执行一条命令命令的具体功能则是由触发的单击事件过程中的程序
代码决定。
1属性Caption标题属性。
就是显示在按钮上的提示文字Default确定属性。
当该属性为“True”时按“回车键”等同于单击此按钮。
在一个窗体中也只能有一个命令按钮的该属性值为“True”.缺省值为“False”。
Cancel取消属性。
当本属性值设为“True”真时按“Esc”键即等同于单击本按钮在一个窗体中只能有一个命令按钮的该属性设置为“True”缺省值为“False”Enable:有效属性当该属性为“False”时命令按钮无效不能响应用户事件缺省为“True”。
中国药科大学计算机教研室Visual Basic程序设计352方法SetFocus设臵焦点。
设臵为焦点的按钮标题周围将有一个边框用户直接按“回车键”时将会触发执行该按钮的单击事件。
3事件Click即鼠标单击。
这是命令按钮最基本、最重要的事件。
书P23例2-2中国药科大学计算机教研室Visual Basic程序设计36例2-2一个使用命令按钮的程序示例Private Sub Command1_ClickLabel1.Caption quot报效祖国quotCommand2.Enabled TrueCommand2.SetFocusCommand1.Enabled FalseEnd Sub使按钮2变为活动状态Private Sub Command2_ClickLabel1.Caption quot努力学习quotCommand1.Enabled TrueCommand1.SetFocusCommand2.Enabled FalseEnd Sub使按钮1变为非活动状态使按钮2具有焦点中国药科大学计算机教研室Visual Basic程序设计384、列表框ListBox用途列出可供用户选择的项目列表。
属性List表属性。
用于保存列表内容。
程序
代码中可通过表属性以及列表项序号实现对某具体列表项的访问对象名.List列表项序号其中的对象名即为列表框的Name属性值列表项的序号从0开始由上到下依次为0、1、2、3...列表框中的列表项的添加方法一是设计时在属性窗口的LIST属性值中直接添加二是在程序运行时在
代码中通过additem方法添加。
ListCount列表项数目。
中国药科大学计算机教研室Visual Basic程序设计39ListIndex列表项索引。
其值为当前选中的列表项选中的列表项的序号第一个列表项的序号为0如果未选任何项目则其值为-1Text列表项正文。
其值为当前选中的列表项的文本它与ListListIndex相同即List1.TextList1.ListListIndexColumns列属性。
设置列表框中显示的列表项的列数。
该属性缺省为只显示一列文本。
逐行显示列表项可能有垂直滚动条取值为大于0的值时列表项可占多列显示Sorted排序属性。
取值为“True”时各列表项将按字母表排序取值为“False”时将不排序。
属性中国药科大学计算机教研室Visual Basic程序设计40方法AddItem添加
列表项。
使用下面的格式来添加对象名.AddItem lt列表项文本gt插入位臵序号若不指定插入位臵则插入到列表末尾Clear删除列表中所有列表项。
RemoveItem删除指定列表项。
用法如下对象名.RemoveItem 删除项序号事件虽然列表框可以响应单击Click和双击DblClick事件。
但很少使用。
例列表框中国药科大学计算机教研室Visual Basic程序设计41界面如图所示在文本框中输入内容再单击“增加”命令按纽可以将文本框中的内容添加至列表框中对指定的列表框选项单击“删除”可将其删除同时及时更新列表项的总数。
属性中国药科大学计算机教研室Visual Basic程序设计42Private Sub Command1_ClickList1.AddItem Text1.TextLabel3.Caption List1.ListCountEnd SubPrivate Sub Command2_ClickList1.RemoveItem List1.ListIndexLabel3.Caption List1.ListCountText1.Text quotquotText1.SetFocusEnd Sub将文本框的内容添加至列表框中将列表框指定的选项进行删除列表数目显示在标签上中国药科大学计算机教研室Visual Basic程序设计43Private Sub Command3_ClickList1.ClearLabel3.Caption List1.ListCountText1.Text quotquotText1.SetFocusEnd SubPrivate Sub Command4_ClickUnload MeEnd Sub全部清除中国药科大学计算机教研室Visual Basic程序设计445、组合框ComboBox功能将文本框和列表框结合在一起在列表框中所选项目的文本会自动填入文本框。
属性Style外观属性。
组合框的类型和功能由本属性设定值决定各设臵值的功能为见下一页Text文本属性。
其取值就是用户从列表框中选定的文本内容或直接输入文本框中的内容。
注意组合框并不会自动地把用户在文本框中输入地内容作为一个新列表项添加到列表框中须使用如下语句ComoBoxname.AddItem ComoBoxname.Text方法同列表框。
事件0和2风格的组合框可响应Click单击事件风格1的组合框可响应DblClick双击事件带有文本框的0和1风格的组合框在编辑文本时可引发Change事件。
中国药科大学计算机教研室Visual Basic程序设计45ComboBox组合框Style属性的三种选择常数值描述vbComboDropDown0 缺省值下拉式组合框。
包括一个下拉式列表和一个文本框。
可以从列表选择或在文本框中输入。
vbComboSimple1简单组合框。
文本框和列表框部分一直显示在窗体上。
可以从列表中选择或直接文本框中输入。
应根据实际列表项数目调整控件大小。
vbComboDrop-DownList2下拉式列表。
这种样式无文本框不允许用户直接输入仅允许从下拉式列表中选择。
中国药科大学计算机教研室Visual Basic程序设计46组合框的外观中国药科大学计算机教研室Visual Basic程序设计47界面如下单击列表框中的选项将之添加到组合框中同时在组合框的文本框中输入内容按回车也能添加至列表中。
组合框列表框Private Sub Command1_ClickCombo1.AddItem List1.TextEnd SubPrivate Sub Combo1_KeyPressKeyAscii As Integ.