Visual Basic 的控件有三种广义分类:
1。内部控件,例如 CommandButton 和 Frame 控件。那些控件都在 VisualBasic 的 。exe 文件中。内部控件老是呈现在东西箱中,不象 ActiveX 控件和可插进对象那样能够添加到东西箱中,或从东西箱中删除。
2。ActiveX 控件,是扩展名为 。ocx 的独立文件,此中包罗各类版本 VisualBasic 供给的控件(DataCombo, DataList 控件等等)和仅在专业版和企业版中供给的控件(例如 Listview、Toolbar、Animation 和TabbedDialog),别的还有许多第三方供给的 ActiveX 控件。
重视 具有文件扩展名 。vbx 的控件利用了老的手艺,在 Visual Basic 的早期版本编写的利用法式中能够找到那些控件。当 Visual Basic 翻开包罗 。vbx 控件的工程时,在缺省情状下用 。ocx 控件代替 。
vbx控件,当然,那只要在控件的 。ocx 版本存在时才能够。关于将控件更新为 。ocx 格局的信息,请参阅本章后面的“更新旧版 VisualBasic 控件”一节。
3。可插进的对象,例如一个包罗公司所有雇员的列表的 Microsoft Excel 工做表对象,或者一个包罗某工程方案信息的 Microsoft Project 日历对象。
因为那些对象能添加到东西箱中,所以可把它们当做控件利用。此中一些对象还撑持主动化(正式的名称为 OLE 主动化),利用那种控件就可在 Visual Basic 利用法式中编程掌握另一个利用法式的对象。关于主动化的详尽信息,请参阅第十章“用部件编程”中的“利用对象编程”。
详尽信息 关于 Visual Basic 专业版和企业版中供给的 ActiveX 控件的详尽信息,请参阅《部件东西指南》中的“利用 ActiveX 控件”。
内部控件
下表总结了 Visual Basic 东西箱中的内部控件。
重视 指针东西(东西箱中的第一个东西)可用来挪动窗体和控件,并调整它们的大小。指针东西不是控件。
原则 ActiveX 控件
Visual Basic 进修版包罗若干 ActiveX 控件(称为原则 ActiveX 控件),有了那些控件就可在利用法式中引进高级功用。
ActiveX 控件的文件扩展名为 。ocx,可手工将它们添加到东西箱中,以便在工程中利用aq。下表总结了 Visual Basic 进修版供给的原则 ActiveX 控件。
详尽信息 关于 Visual Basic 专业版和企业版中供给的 ActiveX 控件的详尽信息,请参阅《部件东西指南》中的“利用 ActiveX 控件”。
添加和删除 ActiveX 控件
根据下述步调在东西箱中添加或删除 ActiveX 控件。
要在东西箱中添加 ActiveX 控件:
1。 在“工程”菜单中抉择“部件”。
2。 选定。ocx 控件名旁边的复选框,然后抉择“确定”。
将控件放进东西箱后,就象看待内部控件那样将它们添加到窗体上。
要删除 ActiveX 控件:
1。 在工程的窗体上删除控件的所有实例。删除工程代码中对控件的所有引用。若代码中还留有被删除控件的引用,则在编译利用法式时将展现出错信息。
2。 在“工程”菜单中抉择“部件”。肃清 。ocx 控件名旁边的复选框,然后抉择“确定”。若工程中还有控件的实例,则将展现出错信息。
详尽信息 关于在东西箱中添加或删除控件和可插进对象的详尽信息,请参阅第四章,“工程的治理”中的“在工程中添加控件”。
更新旧版 Visual Basic 控件
文件扩展名为 。vbx 的 16 位旧版Visual Basic控件与此版Visual Basic不兼容。若筹算加载包罗 。vbx 控件的旧工程,Visual Basic 将会警告说控件不适用或不兼容,此时,能够陆续加载无 。
vbx 控件的工程,当然,利用法式将无法一般运行。
假设手中有包罗第三方 。vbx 控件的旧版本 Visual Basic 的工程,请向控件厂商征询有关 。ocx 替代控件的信息。
控件定名约定
第一次创建对象(窗体或控件)时,Visual Basic 将其 Name 属性设置为缺省值。
例如,最后将所有号令按钮的 Name 属性都设置为 Commandn,此中 n 为 1、2、3 等等。Visual Basic 将绘造在窗体上的第一个号令按钮定名为 Command1,第二个为 Command2,第三个为 Command3。
能够保留缺省名称;但是,假设有几个同类型控件时,更好将 Name 属性改成具有描述性的名称。
因为很难区分 MyForm 窗体的 Command1 按钮与 YourForm 的 Command1 按钮,所以定名约定非常有益,特殊是当利用法式包罗了若干窗体、原则和类模块的时候。
能够如许为控件定名:用前缀描述类,其后为控件的描述性名称。
利用了定名约定,代码就可主动描述本身并使类似的对象在对象列表框中按字母挨次摆列。例如,能够如许来为 CheckBox 控件定名:
chkReadOnly
为窗体和控件定名的名称:
1。必需以字母开头。
2。
只能包罗字母、数字和下划线字符 (_);不容许有标点符号字符和空格。
3。不克不及超越 40 个字符。
详尽信息 关于定名约定的详尽信息,请参阅附录 B,“Visual Basic 编码约定”。
利用控件值
所有控件都有一个属性,只需引用控件名而无需利用属性名就可操纵那个属性来存储或获取数值,称此属性为控件的值,那是控件的最重要或最常用属性。
下表列出了每个控件属性,那些属性被看成是控件值。
当控件的属性为该控件的值时,无论何时引用那个属性都没必要在代码中指定属性名。例如,下行代码设置了 TextBox 控件的 Text 属性值:
Text1 = "This text is assigned to the Text property _
of Text1"
鄙人例中,只要用户单击文件列表框中的文件,Label1 的 Caption 属性就被设置成 File1 的 FileName 属性:
Private Sub File1_Click ()
Label1 = File1
End Sub
重视 因为利用了控件值,代码的可读性略受影响,所以本指南中的示例不利用控件值,而是明白引用控件的属性。
两种办法均可用来编写代码,在不引起阅读困难时可考虑利用控件值。