问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在开发VB应用程序时,一般包含几个步骤?分别是什么?

发布网友 发布时间:2022-05-09 23:06

我来回答

1个回答

热心网友 时间:2023-04-25 16:28

1、重点掌握的内容: 模块: 在Visual Basic中提供了三种类型的模块:窗体模块、标准模块和类模块。 标准模块、类模块和窗体模块都可包含:l l 声明。可将常数、类型、变量和动态链接库 (DLL) 过程的声明放在窗体、类或标准模块的声明部分。l l 过程。子过程、函数过程 或者属性过程,过程包含可以作为单元来执行的代码片段。 参见7.1.1节。过程:一个应用程序是由若干模块组成的,而每个模块又是由若干个更小的代码片段组成,将组成这些模块的代码片段称为过程(Procere)。Visual Basic中过程可分:函数过程、子过程、属性过程 、通用过程。子过程:子过程是在响应事件时执行的程序段。 1.子过程语法如下: [Private | Public | Friend] [Static] Sub 过程名 [(参数表)] [程序段] [Exit Sub] [程序段] End Sub 2.子过程调用 3.使用子过程管理输入通用过程: 通用过程告诉应用程序如何完成一项指定的任务。一旦确定了通用过程,一般由其他过程(事件过程等)来调用。事件过程: Visual Basic 的每一个窗体和控件都存在一个预定义的事件集。运行应用程序时,当某个事件发生,而且在与该事件关联的事件过程中存在代码,则Visual Basic就会调用该事件过程。因为事件过程的过程名在对象和代码之间建立了联系,所以可以说事件过程是附加在窗体和控件上的。Function 过程: 1 .函数过程的语法 [Public | Private | Friend] [Static] Function Name [(Arglist)] [As 数据类型] [程序段] [Name = Expression] [Exit Function] [程序段] [Name = Expression] End Function与 Sub 过程一样,Function 过程也是一个独立的过程,可读取参数、执行一系列语句并改变其参数的值。与子过程不同,Function 过程可返回一个值到调用的过程。 Sub 过程与Function 过程的区别:参见7.2.3节。调用过程:调用 Sub 过程与 Function 过程不同。在表达式中,调用 Sub 过程的是一个独立的语句,而调用函数过程函数过程只是表达式的一部分。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。调用 Sub 过程有两种方法:以下两个语句都调用了名为 MyProc 的 Sub 过程。Call MyProc (FirstArgument, SecondArgument)MyProc FirstArgument, SecondArgument注意当使用 Call 语法时,参数必须在括号内。若省略 Call 关键字,则也必须省略参数两边的括号。通常,调用自行编写的函数过程的方法和调用 Visual Basic 内部函数过程(例如 Abs)的方法一样;即在表达式中写上它的名字。请详细参考7.3节2、一般掌握内容:程序的调试: 参考7.4节在Visual Basic6.0中的错误分为三种类型:l l 语法错误l l 执行错误l l 逻辑错误 第7章 VB应用程序结构[学习目标]
1:掌握:Sub过程,Function过程、Event过程和通用过程
2. 理解:VB应用程序的结构
3:了解:程序调试技术
[学习要点]
模块,过程,程序调试
  本章主要介绍编写应用程序的各种部件和模块、代码编写机制和编码基础等,理解这些基本内容之后,才能用VB编写出功能强大的应用程序。
  一个应用程序实际上是使计算机完成特定任务的指令集。应用程序的结构就是指组织指令的方法,也就是指令存放的位置以及它们的执行顺序。
7.1 模块
  VB的代码存储在模块中。在VB中提供了三种类型的模块:窗体模块、标准模块和类模块。
  简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体。最终可能有几个窗体中有一些共同都要执行的代码,为了在两个窗体中不产生重复代码,可创建一个独立的模块,用它实现代码公用。该独立模块即是标准模块。此外还可以建立包含共享代码与数据的类模块。
每个标准模块、类模块和窗体模块可包含:
声明。 可将常数、类型、变量和动态链接库(DLL)过程的声明放在窗体、类或标准模块的声明部分。每个模块只有一个声明部分
过程。每个模块可有多个过程,过程是划分VB代码的最小单元,每个过程是一个可执行的代码片段。VB中主要有子过程、函数过程或者属性过程等
7.1.1 各种模块类型
1.窗体模块
  由于VB是面向对象的应用程序开发工具,所以应用程序的代码结构就是该程序在屏幕上表示的对应模型。根据定交,对象包含数据和代码。应用程序中的每个窗体都有一个相对应的窗体模块(文件扩展名为.frm)
  窗体模块是VB应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、自定义类型和外部过程的窗体级声明。写入窗体模块的代码是该窗体所属的具体应用程序专用的;也可以引用该程序内的其它窗体和对象
  每个窗体模块都包含事件过程,在事件过程中有为响应该事件而执行的程序段。窗体可包含控件。在窗体模块中,对窗体上的每个控件都有一个对应的事件过程集。除了事件过程,窗体模块还可包含通用过程,它对来自该窗体中任何事件过程的调用都作出响应。
2.标准模块
  标准模块是程序中的一个独立容器,包含全局变量、Function(函数)过程和Sub过程(子过程)。
  可将那些与特定窗体或控件无关的代码放入标准模块中。标准模块中包含应用程序内的允许其它模块访问的过程和声明。它们可以包含变量、常数、类型、外部过程和全局声明或模块级声明。写入标准模块的代码不必固定在特定的应用程序上;
(1)使用标准模块
  在编写程序时,很可能会遇到一些使用相同变量和例程的窗体和事件过程。在缺省状态下,变量对于事件过程来说是局部的,就是说仅能在创建这些变量的事件过程中读取或者修改变量。与之相似,事件过程对于创建它们的窗体来说也是局部。为了在工程中的所有窗体和事件*享变量和过程,需要在该工程的一个或多个标准模块中对它们进行声明和定义。
  标准模块或代码模块是具有文件扩展名.bas,并包含能够在程序任何地方使用的变量和过程的特殊文件。
  正如窗体一样,标准模块被单 独列在Project(工程)窗口内,并可通过使用File(文件)菜单中的Save Molel As菜单项存盘。但是,与窗体不同,标准模块不包含对象或属性设置而只包含可在代码窗口中显示和编辑的代码。
(2)创建标准模块
  如要在程序中创建新 的标准模块,那么单击工具条Add Form(添加窗体)按钮上的下箭头并单击Mode(模块),或者单 击Project(工程)菜单中的Add Mole(添加模块)菜单项。在工程中创建一个空的标准模块的步骤如下:
S1:启动VB,打开一个新的标准工程,单击工程 菜单中的Add Mole菜单项,单击Open 按钮。VB在工程中增加一个名为Mole的标准模块。该 模块对应的代码窗口被打开,对象和过程列表框的内容表明该 标准模块的通用声明已被打开。在此所声明的变量与过程 在整个程序都可以使用。
S2:双击工程资源管理器窗口的标题条,以便能看到整个工程资源管理器窗口,
S3:在File(文件)菜单中,单 击Save Molel As
S4:如果D:\VB6sbs\less10文件夹未被选择时,选择该文件夹,键入MyTestMod.bas,然后按回车。该标准模块作为MyTestMod.bas文件保存到磁盘,并且可以通过Project(工程)的Add File菜单项可将此文件通过其文件名加载到另一个工程中。
S5:双击Project(属性)窗口标题条。由于模块不包含对象,因此它惟一的属性就是Name
S6:将Name属性改为modVariables,然后按ENTER键。
(3)声明公用变量
  在标准模块中声明 全局变量十分简单,键入关键字Public,后跟该 变量名。
  缺省状态下,公用就量在模块中被声明为变体类型,但是可以通过使用As关键字来指定相应类型,可以把公用变量声明为某个指定的基本类型。
3.类模块
  在VB中类模块是面向对象编程的基础。可以在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件,可显示窗体窗口
  用类模块创建对象,这些对象可被应用程序内的过程调用。标准模块只包含代码,而类模块包含代码又包含数据,可视为没有物理表示的控件。
7.1.2模块设计的考虑
  在VB中创建应用程序的最重要的部分是设计阶段。首先需要为应用程序设计一个用户界面,这个界面的设计比较容易确定。但设计代码的结构就是一项较复杂的工作。构造应用程序的方法不同,可能会造成应用程序的性能以及代码的可维护性,可使用性不同。
  VB应用程序呈层次结构。典型应用程序包括若干个模块:应用程序中每个窗体的窗体模块、共享代码的标准模块和类模块。每个模块包含若干含 有代码的过程:Event过程,Sub过程或Function过程及Property过程。
  在很多情况中都存在着多个对象共享的重复过程。这种情况最好创建一个共享的子过程,使大家都可以调用它。即使将来修改这些子程序,则只在一个地方修改就可进行全部修改,这将大大提高程序的可读性和可维护性。可以把所有的共享操作放在标准的模块中。
7.1.3 代码编辑器
  VB代码编辑器是一个窗口,大多数代码都在此窗口 上编写。有许多便于编写VB代码的功能。在每个模块中,对于模块中包含 的每个对象,将模块中的代码再细分出与对象对应的独立部分用"对象列表框"实现各对象间的切换。对于模块,列表包含 一个通用段和一个类段;对于标准模块,只有一个通用段被显示。每一段代码都可包含 若干个用"过程列表框"访问的不同过程。对窗体或控件的每一个事件过程,窗体模块的过程列表都包含一个独立的段。类模块只列举本身的事件从初始化到终止。标准模块的过程列举任何事件过程,因为标准模块不支持事件。模块通用段的过程列表只包含声明段,其中放置模块级的变量、常数和DLL声明
VB代码编辑器的一些功能和用法:
1.自动完成编码
VB能自动填充语句、属性和参数,这些性能使编写代码更加方便。在输入代码时,编辑器列举适当的选择。通过"工具"菜单上的"选项"命令访问"选项"对话框,在"选项"对话框的"编辑器"选项卡上可以选择"自动列出成员特性",由它们决定是允许还禁止代各码的设置值。在代码中输入一控件名时,"自动列出成员特性"会显示出这个控件的下拉式属性表。键入属性名的前几个字母,就会从表中选中该名字,按Tab键将完成输入。当不能确认给定的控件有什么样的属性时,这个选项是非常有帮助的。即使选择了禁止"自动列出成员特性",仍可使用CTRL+J组合键得到这种性能。
"自动快速信息"功能可显示语句和函数的语法。
2.书签
在代码编辑器中书签可用来标记代码的某些行,以便以后可以很容易地返回这些行。书签开关的切换以及定位到已有书签的命令可以在编辑菜单中书签选项中得到。

热心网友 时间:2023-04-25 16:28

1、重点掌握的内容: 模块: 在Visual Basic中提供了三种类型的模块:窗体模块、标准模块和类模块。 标准模块、类模块和窗体模块都可包含:l l 声明。可将常数、类型、变量和动态链接库 (DLL) 过程的声明放在窗体、类或标准模块的声明部分。l l 过程。子过程、函数过程 或者属性过程,过程包含可以作为单元来执行的代码片段。 参见7.1.1节。过程:一个应用程序是由若干模块组成的,而每个模块又是由若干个更小的代码片段组成,将组成这些模块的代码片段称为过程(Procere)。Visual Basic中过程可分:函数过程、子过程、属性过程 、通用过程。子过程:子过程是在响应事件时执行的程序段。 1.子过程语法如下: [Private | Public | Friend] [Static] Sub 过程名 [(参数表)] [程序段] [Exit Sub] [程序段] End Sub 2.子过程调用 3.使用子过程管理输入通用过程: 通用过程告诉应用程序如何完成一项指定的任务。一旦确定了通用过程,一般由其他过程(事件过程等)来调用。事件过程: Visual Basic 的每一个窗体和控件都存在一个预定义的事件集。运行应用程序时,当某个事件发生,而且在与该事件关联的事件过程中存在代码,则Visual Basic就会调用该事件过程。因为事件过程的过程名在对象和代码之间建立了联系,所以可以说事件过程是附加在窗体和控件上的。Function 过程: 1 .函数过程的语法 [Public | Private | Friend] [Static] Function Name [(Arglist)] [As 数据类型] [程序段] [Name = Expression] [Exit Function] [程序段] [Name = Expression] End Function与 Sub 过程一样,Function 过程也是一个独立的过程,可读取参数、执行一系列语句并改变其参数的值。与子过程不同,Function 过程可返回一个值到调用的过程。 Sub 过程与Function 过程的区别:参见7.2.3节。调用过程:调用 Sub 过程与 Function 过程不同。在表达式中,调用 Sub 过程的是一个独立的语句,而调用函数过程函数过程只是表达式的一部分。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。调用 Sub 过程有两种方法:以下两个语句都调用了名为 MyProc 的 Sub 过程。Call MyProc (FirstArgument, SecondArgument)MyProc FirstArgument, SecondArgument注意当使用 Call 语法时,参数必须在括号内。若省略 Call 关键字,则也必须省略参数两边的括号。通常,调用自行编写的函数过程的方法和调用 Visual Basic 内部函数过程(例如 Abs)的方法一样;即在表达式中写上它的名字。请详细参考7.3节2、一般掌握内容:程序的调试: 参考7.4节在Visual Basic6.0中的错误分为三种类型:l l 语法错误l l 执行错误l l 逻辑错误 第7章 VB应用程序结构[学习目标]
1:掌握:Sub过程,Function过程、Event过程和通用过程
2. 理解:VB应用程序的结构
3:了解:程序调试技术
[学习要点]
模块,过程,程序调试
  本章主要介绍编写应用程序的各种部件和模块、代码编写机制和编码基础等,理解这些基本内容之后,才能用VB编写出功能强大的应用程序。
  一个应用程序实际上是使计算机完成特定任务的指令集。应用程序的结构就是指组织指令的方法,也就是指令存放的位置以及它们的执行顺序。
7.1 模块
  VB的代码存储在模块中。在VB中提供了三种类型的模块:窗体模块、标准模块和类模块。
  简单的应用程序可以只有一个窗体,所用的程序都驻留在窗体模块中,而当应用程序庞大复杂时,就要另外附加窗体。最终可能有几个窗体中有一些共同都要执行的代码,为了在两个窗体中不产生重复代码,可创建一个独立的模块,用它实现代码公用。该独立模块即是标准模块。此外还可以建立包含共享代码与数据的类模块。
每个标准模块、类模块和窗体模块可包含:
声明。 可将常数、类型、变量和动态链接库(DLL)过程的声明放在窗体、类或标准模块的声明部分。每个模块只有一个声明部分
过程。每个模块可有多个过程,过程是划分VB代码的最小单元,每个过程是一个可执行的代码片段。VB中主要有子过程、函数过程或者属性过程等
7.1.1 各种模块类型
1.窗体模块
  由于VB是面向对象的应用程序开发工具,所以应用程序的代码结构就是该程序在屏幕上表示的对应模型。根据定交,对象包含数据和代码。应用程序中的每个窗体都有一个相对应的窗体模块(文件扩展名为.frm)
  窗体模块是VB应用程序的基础。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、自定义类型和外部过程的窗体级声明。写入窗体模块的代码是该窗体所属的具体应用程序专用的;也可以引用该程序内的其它窗体和对象
  每个窗体模块都包含事件过程,在事件过程中有为响应该事件而执行的程序段。窗体可包含控件。在窗体模块中,对窗体上的每个控件都有一个对应的事件过程集。除了事件过程,窗体模块还可包含通用过程,它对来自该窗体中任何事件过程的调用都作出响应。
2.标准模块
  标准模块是程序中的一个独立容器,包含全局变量、Function(函数)过程和Sub过程(子过程)。
  可将那些与特定窗体或控件无关的代码放入标准模块中。标准模块中包含应用程序内的允许其它模块访问的过程和声明。它们可以包含变量、常数、类型、外部过程和全局声明或模块级声明。写入标准模块的代码不必固定在特定的应用程序上;
(1)使用标准模块
  在编写程序时,很可能会遇到一些使用相同变量和例程的窗体和事件过程。在缺省状态下,变量对于事件过程来说是局部的,就是说仅能在创建这些变量的事件过程中读取或者修改变量。与之相似,事件过程对于创建它们的窗体来说也是局部。为了在工程中的所有窗体和事件*享变量和过程,需要在该工程的一个或多个标准模块中对它们进行声明和定义。
  标准模块或代码模块是具有文件扩展名.bas,并包含能够在程序任何地方使用的变量和过程的特殊文件。
  正如窗体一样,标准模块被单 独列在Project(工程)窗口内,并可通过使用File(文件)菜单中的Save Molel As菜单项存盘。但是,与窗体不同,标准模块不包含对象或属性设置而只包含可在代码窗口中显示和编辑的代码。
(2)创建标准模块
  如要在程序中创建新 的标准模块,那么单击工具条Add Form(添加窗体)按钮上的下箭头并单击Mode(模块),或者单 击Project(工程)菜单中的Add Mole(添加模块)菜单项。在工程中创建一个空的标准模块的步骤如下:
S1:启动VB,打开一个新的标准工程,单击工程 菜单中的Add Mole菜单项,单击Open 按钮。VB在工程中增加一个名为Mole的标准模块。该 模块对应的代码窗口被打开,对象和过程列表框的内容表明该 标准模块的通用声明已被打开。在此所声明的变量与过程 在整个程序都可以使用。
S2:双击工程资源管理器窗口的标题条,以便能看到整个工程资源管理器窗口,
S3:在File(文件)菜单中,单 击Save Molel As
S4:如果D:\VB6sbs\less10文件夹未被选择时,选择该文件夹,键入MyTestMod.bas,然后按回车。该标准模块作为MyTestMod.bas文件保存到磁盘,并且可以通过Project(工程)的Add File菜单项可将此文件通过其文件名加载到另一个工程中。
S5:双击Project(属性)窗口标题条。由于模块不包含对象,因此它惟一的属性就是Name
S6:将Name属性改为modVariables,然后按ENTER键。
(3)声明公用变量
  在标准模块中声明 全局变量十分简单,键入关键字Public,后跟该 变量名。
  缺省状态下,公用就量在模块中被声明为变体类型,但是可以通过使用As关键字来指定相应类型,可以把公用变量声明为某个指定的基本类型。
3.类模块
  在VB中类模块是面向对象编程的基础。可以在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件,可显示窗体窗口
  用类模块创建对象,这些对象可被应用程序内的过程调用。标准模块只包含代码,而类模块包含代码又包含数据,可视为没有物理表示的控件。
7.1.2模块设计的考虑
  在VB中创建应用程序的最重要的部分是设计阶段。首先需要为应用程序设计一个用户界面,这个界面的设计比较容易确定。但设计代码的结构就是一项较复杂的工作。构造应用程序的方法不同,可能会造成应用程序的性能以及代码的可维护性,可使用性不同。
  VB应用程序呈层次结构。典型应用程序包括若干个模块:应用程序中每个窗体的窗体模块、共享代码的标准模块和类模块。每个模块包含若干含 有代码的过程:Event过程,Sub过程或Function过程及Property过程。
  在很多情况中都存在着多个对象共享的重复过程。这种情况最好创建一个共享的子过程,使大家都可以调用它。即使将来修改这些子程序,则只在一个地方修改就可进行全部修改,这将大大提高程序的可读性和可维护性。可以把所有的共享操作放在标准的模块中。
7.1.3 代码编辑器
  VB代码编辑器是一个窗口,大多数代码都在此窗口 上编写。有许多便于编写VB代码的功能。在每个模块中,对于模块中包含 的每个对象,将模块中的代码再细分出与对象对应的独立部分用"对象列表框"实现各对象间的切换。对于模块,列表包含 一个通用段和一个类段;对于标准模块,只有一个通用段被显示。每一段代码都可包含 若干个用"过程列表框"访问的不同过程。对窗体或控件的每一个事件过程,窗体模块的过程列表都包含一个独立的段。类模块只列举本身的事件从初始化到终止。标准模块的过程列举任何事件过程,因为标准模块不支持事件。模块通用段的过程列表只包含声明段,其中放置模块级的变量、常数和DLL声明
VB代码编辑器的一些功能和用法:
1.自动完成编码
VB能自动填充语句、属性和参数,这些性能使编写代码更加方便。在输入代码时,编辑器列举适当的选择。通过"工具"菜单上的"选项"命令访问"选项"对话框,在"选项"对话框的"编辑器"选项卡上可以选择"自动列出成员特性",由它们决定是允许还禁止代各码的设置值。在代码中输入一控件名时,"自动列出成员特性"会显示出这个控件的下拉式属性表。键入属性名的前几个字母,就会从表中选中该名字,按Tab键将完成输入。当不能确认给定的控件有什么样的属性时,这个选项是非常有帮助的。即使选择了禁止"自动列出成员特性",仍可使用CTRL+J组合键得到这种性能。
"自动快速信息"功能可显示语句和函数的语法。
2.书签
在代码编辑器中书签可用来标记代码的某些行,以便以后可以很容易地返回这些行。书签开关的切换以及定位到已有书签的命令可以在编辑菜单中书签选项中得到。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
吃生大蒜好吗 吃生大蒜有什么好处呢 保字词语接龙两个字 建筑设计资质有哪些 iphone视频格式 男人说纠结是什么意思纠结是什么意思 古天乐的资料!!! 胆结石可以喝柠檬蜂蜜水吗 柠檬对结石有什么作用 胆结石可以吃柠檬吗 江西有哪些风景 蟹肉沙拉饭团怎么做? 相亲对象不跟我联系 但却老是点赞我朋友圈。为什么? 求 螃蟹的做法,传统的做法就不要了,花生们都知道,求螃蟹的最新做法? 求助c语言 程序调试技术 谁是最可爱的人原文用五笔输入法输入时候的键盘字母顺序] 相亲女告诉她朋友说拒绝我了可是她又在我微信朋友圈发表评论关心我什么意思? 一个人怎么做蟹肉沙拉饭团? 架空输电线路中减腿、基础半根开、降基、施工基面都是些什么意思?之间有什么联系? 蛋爱饭里的蟹肉沙拉怎么做? 很久没联系的相亲女,最近对我朋友圈有时点赞,有时评论,七夕还祝我节日快乐,后来还向我要红包,啥意思 课文《再见了,亲人》选自《谁是最可爱的人》哪一部分? 铁塔基础如何区分正侧面根开 白兰地油醋汁蟹肉沙拉要怎么做好吃?白兰地油醋汁蟹肉沙拉要哪些材料?如何做白兰地油醋汁蟹肉沙拉 我相亲的女孩,我每次朋友圈,她都会点赞,评论,意味着什么,请问下女孩子们,你们相亲的男的他们微信 铁塔根开与基础根开的区别 谁是最可爱的人原文字数 蟹肉沙拉饭团怎么做好吃? 魏巍作品《谁是最可爱的人》全文欣赏 腾讯视频为啥不直播今天胡人和快船? 怎么做好吃的蟹肉沙拉 想学健身教练,人在广州,不想去外地,求推荐本地可靠的健身学院 调试程序的最好方法是什么? 调试程序方法 蒜蓉酪梨怎么做才好吃? 学计算机一定要数学好吗 王者荣耀夏侯惇怎么出装 夏侯惇出装推荐 谁是最可爱的人赏析 保护资源环境手抄报 程序调试主要是对程序进行何种调试? 谁是最可爱的人(节选)答案 程序调试的分类 程序调试和程序测试的区别? 上单夏侯惇怎么出装 如何更好的搭建Visual C++环境 《谁是最可爱的人》好词句 请问,做寿司的梅子是什么,用什么水果 梦见自己父亲和老公喝多了怎么回事 VB程序设计试卷 谁是最可爱的人句子赏析? visual basic 最突出的特点