首页 > 编程 > .NET > 正文

全面剖析VB.NET(1)

2024-07-10 13:00:34
字体:
来源:转载
供稿:网友
 前言
   大约到2001年的第4季度,visual basic的下一个版本visual basic.net将会正式发行。新版的visual basic.net拥有许多vb开发者以前只能梦想的新功能和新特色。同时,成长和发展也意味着付出一定的代价,新的visual basic.net中有许多东西需要重新学习,一些细微的变化很可能带来出乎意料的麻烦。
  
    microsoft .net平台所包含的内容非常广泛。本文将去粗存精,对vb.net作一个全景式的介绍,看看它到底是什么,有些什么用处,以及如何使用。特别地,本文将分析vb.net集成开发环境的变化,面向对象功能,底层体系的变化,众多的语法改进,对应用部署和封装支持方面的增强等。
  
  一、集成开发环境
  
   第一次启动vb.net时,你首先注意到的不会是visual basic优秀的面向对象支持,而应该是它的ide(集成开发环境,integrated development environment)。vs.net的ide给人以非常熟悉的感觉,因为设计这个ide的工作组以前就设计过vb的ide,vs.net ide的改进建立在设计vb ide的经验之上。
  
  图a:点击放大
  
    对于ide的改进并不停留在表面上。所有.net语言都使用相同的ide,ide内提供的新工具非常全面和强大。例如,所有的设计窗口都可以自动隐藏(就象windows任务条一样),从而显著地减少了混乱的感觉。
  
    启动vb.net时,“vs home page”是我们看到的第一个界面。home page中显示了最近修改的工程,并提供了打开现有工程、创建新工程的选项(如图a所示)。所有这些选项都以html链接形式显示。注意这并不是什么模拟出来的效果,home page的布局事实上就是由dhtml编写而成。由于这个原因,用户可以定制home page显示其他对自己有用的选项、信息以及html链接。
  
    new project对话框中提供了用任意一种语言创建工程的选项,如图b所示,注意图中左边树形列表中列出了好几种语言。如果系统中已经安装了支持vs.net的第三方语言,microsoft或许还会在这个列表中包含这些语言。
  
  图b:点击放大
  
    图b中,树形列表中的vb节点处于打开状态,右边的一些图标显示了创建新工程的几个选项。注意这里出现了一些新的选项,如web service、web control library、class library。最后一个选项显示出:在vb.net中,多个相关的类可以合并放入单个模块文件之中,而不是象vb6那样把每个类单独放入一个文件。
  
    激活winforms工程时的ide与传统vb ide最为相似。图c显示了两者最主要的区别。
  
  图c:点击放大
  
    ▲ 隐藏工具框。默认情况下,工具框大多数时候都是隐藏的,点击它的标题可以把它“拉出来”(图d显示了一个已经扩展的工具框。如有必要,可以设置工具框使其总是显示在屏幕上)。对于vb开发者来说,这里最大的变化在于工具框中的控件现在改为垂直排列,每个图标都加上了文字说明,而不象vb6那样只有一个图标。
  
  图d:点击放大
  
    ▲ 卡式子窗口(tabbed child window)。vs.net利用位于屏幕上方的卡式子窗口布局取代了原来的mdi子窗口布局。卡包括:home page,窗体布局窗口,代码窗口,帮助屏幕。
  
    ▲ 任务列表(task list)。task list是一个重要的改进,它帮助开发者跟踪所有待完成的任务。代码生成器、编译器会在task list中自动加上一些内容。手工添加任务项目可以按照如下方式进行:找到代码中需要修改的地方,然后插入一行以“todo:”开头的注释,此后该任务就会自动出现在任务列表中。点击task list中的某个任务,代码编辑器中就会出现完成该任务的位置。这种快速定义任务、返回任务的机制将极大地提高开发效率。
  
    ▲ 方案资源管理器(solution explore)。它替代了原来的工程资源管理器(project explorer),与visual interdev中的资源管理器非常相似。和interdev中的资源管理器一样,solution explorer显示了工程所用到的各种资源,包括用其他语言编写的代码模块、各种非代码的资源。其中references是solution explorer中一种全新的资源形式,references管理着命名空间,类似于vb6中的组件引用。
  
    ▲ 属性框(properties)。properties框与vb6中的属性框非常相似,但它现在支持更多的布局方式(显示方式)。
  
    ▲ 窗体布局工具条(form layout)。在vb6中,在窗体上排列控件的任务通过一个名为“form editor”的工具条完成。改进后的新工具条提供更多的功能,而且在winforms类型的工程中默认打开。
  
  图e:点击放大
  
    除了上面六处改进之外,vb.net的代码编辑器还有一个重要的新功能:在代码编辑窗口中,点击代码行左边的加号或者减号可以扩展或者折叠代码块,如图e所示。这个功能原本为隐藏可视化设计器自动生成的代码而设计,但它也可以用于隐藏与当前任务无关的代码。
  
    web forms工程的设计环境也和原来vb6的设计环境略有不同,如图f所示。在表单布局窗口的下面只显示了两个卡,分别为design和html。这两个卡的功能和visual interdev中同一位置的卡相似。design窗口用来编辑窗体的外观,html窗口用于查看dhtml代码。
  
  图f:点击放大
  
    vb.net另外一个引人注目的变化是它的窗体引擎。microsoft放弃了原来的窗体引擎,现在它给我们提供的是windows forms窗体引擎。所有基于clr的语言都使用windows forms引擎,与vb 6的窗体引擎相比,windows forms有着许多突出的优点。例如,windows forms支持创建那些自动改变组件大小的窗体,允许把控件锚定到窗体的特定位置。也就是说,完成这些特殊任务时再也不需要第三方的工具了。windows forms还有一些有趣的技术,比如创建透明窗体等。
  
    以前,vb隐藏了窗体构造过程中的所有细节。我们在ide中设计窗体,然后把代码加入到initialize事件,但对这两者之间的处理过程却无法进行任何控制。现在,窗体成了类,类里面包含了构造窗体的全部代码。大多数程序员都不会去看这种描述窗口构造细节的代码,如果说有某种操作一定会破坏应用,这个操作就是搞乱这里的代码。另一方面,由于这些代码允许用户深入控制vb.net构造窗体的幕后细节,有经验的用户能够利用这些代码实现各种高级功能。如果你不想看到这些代码,你可以不看,因为新的代码编辑器有扩展和折叠代码区域的功能,描述窗体构造过程细节的代码默认处于折叠状态。代码编辑器还有其他一些新的实用功能,比如自动缩进、内建的行号显示功能等。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表