关于MSDN6.0里面的Firstapp程序
由于 Visual Basic 提供了远比本例应用程序丰富得多的工具,因此马上可以使用许多其的特性来管理和配制应用程序。复习示例应用程序是学习 Visual Basic 的极好方法。下述示例展示了用 Visual Basic 编制实用的应用程序是多么的轻而易举。Firstapp 演示了如何使用 data 控件和 grid 控件显示取自数据库的信息表。Visual Basic 使得从应用程序内部到数据库的访问非常地容易。数据控件提供了在数据库的记录集中漫游的功能,以及使得在 grid 控件中显示的记录与数据集中的位置同步的能力。
本例包含一个数据控件、一个MSFlexGrid 控件、一个列表框控件和两个命令按钮。网格显示了从Northwind 数据库检索到的products的信息表。当使用数据控件上的定位按钮选定网格的一项时,被选中的product的name便显示在数据控件上。还可以双击网格中当前选择位置,在列表框控件的“购书单”中添加当前选择的书名。
用 AddItem 方法可以添加列表框的信息。方法是作用于特定对象(本例中为 ListBox 对象)的 Visual Basic 函数。指定方法的语法 (object.property) 与设置属性的语法 (object.property) 类似。AddItem 方法可以在程序运行时动态地添加列表框的内容。相反,Clear 方法用于清除列表框的全部信息。
详细信息 关于方法的详细内容,请参阅“窗体、控件和菜单”中的“属性、方法和事件概述”一节。
创建工程
创建工程首先要从“文件”菜单中选择“新建工程”,然后从“新建工程”对话框中选定“标准 EXE”(首次启动 Visual Basic 时将会显示“新建工程”对话框)。Visual Basic 创建一个新的工程并显示一个新的窗体。用一个数据控件、一个MSFlexGrid 控件、一个列表框控件以及两个命令按钮画出了应用程序的界面。MSFlexGrid 控件不在缺省的工具箱内,因此必须添加:
要添加控件到工具箱,请按照以下步骤执行:
选定工具箱的上下文菜单中的“部件”。(可以在工具箱窗口内部单击右键显示上下文菜单。)
“部件”对话框被显示。
找到“控件”列表框中的“MSFlexGrid (Microsoft Flex Grid 6.0)”项,然后选中其左边的复选框。
单击“确定”按钮。
在工具箱中有了MSFlexGrid 控件的图标。
使用工具箱在窗体上画出一个数据控件、一个MSFlexGrid 控件、一个列表框控件和两个命令按钮。如果您不记得如何绘制,请参阅本章前面的"Creating the Interface"。
设置属性
根据下表在属性窗口中设置对象的属性,其余的属性均使用缺省值。
对象 属性 设置
Form Caption Products
Data1 DatabaseName path \Nwind.mdb
RecordSource Products
MSFlexGrid1 DataSource Data1
Command1 Caption Clear
Command2 Caption Exit
数据控件的 DatabaseName 属性必须包含数据库的实际路径。按照缺省规定,Biblio.mdb 数据库的按钮与 Visual Basic 安装在同一个目录下。在属性窗口中选择 DatabaseName 属性时,可以单击该属性右侧的按钮显示标准的“打开文件”对话框浏览文件。设置完 DatabaseName 属性后,属性窗口中的 RecordSource 属性将包含选中的数据库中的表或记录集的清单。将DataGrid 控件的 DataSource 属性设置为 Data1,将自动地把网格和数据控制链接起来。
编写事件代码
程序所有的代码包含在 Command1_Click、Command2_Click、Data1_Reposition 和DataGrid1_DblClick 事件过程中。双击窗体或控件显示代码窗口,然后输入各事件过程的代码。
将以下代码添加到 Command1_Click 事件过程中,用于单击按钮时清除列表框:
Private Sub Command1_Click ()
List1.Clear '清除列表框。
End Sub
以上语句调用了列表框 List1 的 Clear 方法,Clear 方法删除该列表框的内容。
将以下代码添加到 Command2_Click 事件过程中,用于从内存中卸载窗体并终止应用程序:
Private Sub Command2_Click ()
Unload Form1
End ' 终止应用程序。
End Sub
以上过程的第一条语句调用窗体的 Unload 事件。如果需要在终止程序时执行一个功能(例如保存文件),可以把代码放到窗体的 Unload 事件过程中。第二条语句调用 End 函数终止程序。
将以下代码添加到 Data1_Reposition 事件过程中,用于每当选择一个记录时更新标题:
Private Sub Data1_Reposition ()
Data1.Caption = Data1.Recordset("Title")
End Sub
以上语句将右边的值(数据控件的记录集的 Title 字段)赋给左边的属性(数据控件对象的 Caption 属性)。
将以下代码添加到DataGrid_DblClick 事件过程中,用于当双击一个选定的行时向列表框添加信息。
Private Sub DataGrid1_DblClick ()
List1.AddItem Data1.Recordset("Title")
End Sub
以上语句调用列表框 List1 的 AddItem 方法。添加到列表框中的文本被包含在该方法的参数中(此时为数据控件的记录集的 title 字段)。将一个值传递给参数类似于给属性赋值,与赋值语句不同的是不需要用等号。
保存工程
从“文件”菜单中选取“保存工程”命令来结束本次创建应用程序的工作。Visual Basic 将分别提示保存窗体和保存工程。可以将工程命名为“书店销售清单” ("Bookstore Shopping List."),Windows 95 和 Windows NT 都允许使用长达 255 个字符的文件名而且可以包含空格。旧版的 Microsoft Windows 只允许八个字符的文件名外加三个字符的扩展名。
增强应用程序
这样第一个 Visual Basic 应用程序就完成了:这是一个功能简单却很有用的程序。可以以此为基础在自己的应用程序中添加新的功能,用自己的数据替换 Nwind.mdb。当然,要使本程序真正实用,还要添加基本的保存或打印列表框内容的功能、添加更多的信息:如价格、是否有货,甚至可以收集信用卡的信息和通过 Internet 传送订单。通过继续阅读《程序员指南》的其余部分将找到所有有关这些功能的例子和其它更多的知识。
Private Sub Data1_Reposition ()
Data1.Caption = Data1.Recordset("Title")
End Sub
Private Sub DataGrid1_DblClick ()
List1.AddItem Data1.Recordset("Title")
End Sub
我总是在这两句出错。第一句一错,第二句就没可能对。
[ 本帖最后由 CLT 于 2010-5-14 18:47 编辑 ]