VB
VB学习者的乐园

开发人员的工作效率是这一版 Microsoft Visual Studio 发布的目标。不管您使用何种应用程序类型或者选择何种语言,Microsoft 一直致力于构建集成开发环境 (IDE)、类库和语言套件,以使构建和部署应用程序尽可能地简单。

我们(本书的作者)很明显地看到,Microsoft 已经考察了编码的各个方面(包括代码编写本身、调试和部署),而且实际分析了如何才能使这些工作更有效率。这些增强功能影响深远,其中包括 Microsoft Visual Basic .NET 语言本身的改变、IDE 的改进、数据访问和显示的简化,还有一些改变提高了开发人员构造专业用户界面的工作效率,向框架中添加的众许多新类也减少了您编写的代码的数量,同时提高了部署的功能并扩大了部署的简单性。

本书将深入分析这每一个方面。另外,虽然本书以构建桌面应用程序为重点,但大多数开发人员至少会进行一些 Web 开发。因此,第 6 章“构建 Web 应用程序”介绍 ASP.NET 中的一些最重要的改变。

本简介对这些主题进行概要介绍,并指出您可以从中获得更深层信息的特定章节。您可以通读本书,也可以直接跳到最感兴趣的章节。

本书的读者

本书为 Visual Basic 开发人员撰写。如果您是一名 Visual Basic 6 开发人员,您应该从第 1 章“面向 Visual Basic 开发人员的 Microsoft .NET Framework 入门指南”开始阅读,该章将带您快速进行 .NET Framework 开发。本书其余部分介绍 Visual Basic 的重要增强功能,这些增强功能可以提高开发应用程序的效率。

如果您已经是一名 .NET 开发人员,则可跳过第 1 章直接进入第 2 章“Visual Basic 2005 的语言增强功能”。

本书的内容

本书包含八章。第一章“面向 Visual Basic 开发人员的 Microsoft .NET Framework 入门指南”对目前使用 Visual Basic 6 的开发人员最为有用。它介绍 .NET Framework 的开发。

本节对各章进行说明,并提供关于每个主题的介绍性信息。

重要事项要运行本书中的示例,需要安装两个软件:Visual Studio 2005 和 SQL Server 桌面、开发人员版、企业版或桌面引擎版。SQL Server 2000 的安装应该带有 Northwind 示例数据库。代码示例位于 MSDN 上的 http://msdn.microsoft.com/vbasic/VB6Migration。

 

第 2 章,“Visual Basic 2005 的语言增强功能”

本章介绍泛型、My 对象和新的运算符。

泛型.NET Framework 最重要的增强功能可能就是引入了泛型。使用泛型可很轻松地创建特定于所存储的对象类型的集合。

Dim customerDictionaryAs New Dictionary(Of String, Customer)
customerDictionary.Add(currentCust.FullName, currentCust)

本例中,customerDictionary只能存储 Customer 类型的项。而且,查找结果明确是一个 String 值。因为该集合知道它所存储的对象类型(是 Customers 而不仅仅是“对象”),所以它可以提供完整的 Microsoft 智能感知,如下图所示。


I-1 泛型集合中的智能感知。

My Object Visual Basic .NET 的另一个重要增强功能就是简称为“My 对象”的功能。该功能提供对强大功能相当快速而简单的访问。例如,My.Application.Log.WriteEntry 可让您将信息写入一个文本文件、事件日志或者其他目标。My.Computer.Audio.PlaySystemSound 可以让您播放预定义的操作系统声音,而 My.Computer.Audio.Play 可以让您播放任何 .wav 文件。My 对象还为项目中的项提供默认实例。例如,您可以使用 My.Forms.MainForm.Show 来显示一个窗体而无需先创建其实例。

新运算符Visual Basic .NET 还包括很多新的关键字。IsNot 和 Nothing 一起使用可以使比较变得更加容易。过去,您通常必须编写 If Not X Is Nothing Then。现在,则这可以写成 If X IsNotNothing Then。Visual Basic .NET 还支持运算符重载、泛型,以及很多其他的高级编程功能。

有关这些增强功能的详细信息,请参阅第 2 章“Visual Basic 2005 的语言增强功能”。

第 3 章,“Visual Studio 2005 集成开发环境”

Visual Basic 开发一直以来都与工作效率相关,而提供这种工作效率的关键工具就是 Visual Studio。使用 Visual Studio 2005,可以全面提升工作效率,可以更好、更容易地导航帮助内容,实现更简单的开发环境自定义以及更高效的编码和调试体验,其中包括“编辑并继续 (Edit-And-Continue)”的重新引入。

编码和调试增强功能当使用新的集成开发环境 (IDE) 时,您将看到为了在编码中加入“上下文”而做出的极大努力。即,在很多情况下,您不必导航到 IDE 中的其他窗口来获得需要的信息。在其他情况下,IDE 提供智能信息筛选功能,以便将最有可能的选择置于最突出的位置,并防止极少使用的选项干扰视图。在您第一次访问对象属性时可以看到该功能,如下图所示。


I-2 对象成员的渐进式显示。

您会发现,Visual Studio 2005 可以显示对象的所有成员,也可以通过筛选列表只显示最常用的成员,从而使您轻松找到所需的成员(例如,Connection String 属性)。

Visual Studio 2005 还进一步扩展了常见的 Visual Basic 代码展开功能。您已经习惯了在起始处键入 Function 声明,然后让 IDE 自动插入 End Function。现在,这已经扩展到诸如属性声明这样的内容。键入 public property UserName as String并按 Enter 键可以自动插入下列代码:

Public Property UserName() As String
Get
End Get
Set(ByVal value As String)
End Set
End Property

Visual Studio 2005 还在调试时将各种信息置于您容易获得的位置,使您可以方便操作各种简单和复杂类型,而无需打开并浏览“Watch”窗口。下图显示如何直接在代码编辑器中显示一个复杂类型。


I-3 就地显示复杂类型的属性。

Visual Basic 6 提供的最大的工作效率增强功能之一就是“编辑并继续”。该功能曾经是调试过程中的主要手段,遗憾的是,以前 Visual Studio .NET 2002 或 2003 中没有包括该功能。现在“编辑并继续”又可以使用了,使您可以修复错误然后继续执行,而不用停止和重新启动。

IDE自定义和帮助系统增强功能Visual Basic 开发人员高度评价了自定义其开发环境,以及将窗口置于对他们最有利位置的功能。Visual Studio 一直都提供这种功能,但是在 Visual Studio 2005 中,该功能在几个关键部分进行了重大增强。首先,Visual Studio 2005 解决了“我不知道该窗口将停靠在何处”这一问题 — 当发生该问题时,虽然您认为已经将窗口进行了正确定位,但是当您放开它时,窗口或者没有停靠,或者没有按照您预期的方式停靠。在 Visual Studio 2005 中,停靠具有“停靠指导”,如下图所示。


I-4 使用停靠指导。

您只需将窗口放置到合适的箭头上就可以实现将其停靠在另一个窗口正上方、上方、右方、下方或者左方的功能。不用再猜测!还有,您的所有 IDE 自定义结果都可以导出和导入。

另外,帮助系统有了很大的改进,为您提供了更好的“F1”体验,而且可以让您访问最新的联机帮助。帮助系统甚至挂接到 Web 站点的“Code Wise”社区,它提供直接在 IDE 中访问 CodeGuru、Net247 和 ASP.NET 等站点的功能。

有关 Visual Studio 2005 提供的重要工作效率增强功能的详细信息,您可以直接参阅第 3 章“Visual Studio 2005 集成开发环境”。

第 4 章,“构建以数据为中心的应用程序”

Visual Studio 2005 附带很多用于构建以数据为中心的应用程序的强大工具。首先,有一些构建于 ADO.NET 1.0 之上的新对象。这包括一个类型化 DataAdapter 类,它使得调用存储过程像调用函数一样容易。该工具箱还包含一个很容易进行自定义和控制的新网格控件。最后,IDE 包含一个新的“Data Sources”窗口,帮助您管理这些对象以及在设计时创建您的用户界面。

“Data Sources”窗口用于生成您将在整个给定应用程序中使用的类型化 DataAdapter 和类型 DataSet。一旦您连接到数据库并选择了要使用的表和过程,那么只需将对象从“Data Sources”窗口拖到设计图面来创建用户界面,如下图所示。


I-5 通过“Data Sources”窗口生成用户界面。

您可以看到,默认情况下,当 customers 表放置于设计图面时,后者使用新的GridView控件来呈现它。您也可以让它呈现为单个字段,而且可以确定用于每个字段的控件类型。

您还可以使用 DataSet 设计器将方法映射到存储过程。这使得调用存储过程像下面的代码一样简单:

ds = MyDataSet.GetByCustomerID(customerID)

有关在 Visual Studio 2005 中使用数据的详细信息,请参阅第 4 章“构建以数据为中心的应用程序”。

第 5 章,“构造用户界面”

Visual Basic 开发人员在快速构建用户界面方面从未遇到任何困难。如果 Visual Basic 在某一方面始终出类拔萃,那就是工具箱和窗体设计器方面。但是,Visual Basic 开发人员一直不断地要求,“给我们提供 Microsoft 在其应用程序中所使用的用户界面控件”。更具体地说,开发人员需要很多用户界面元素,例如 Microsoft Office 等产品中的漂浮工具栏。

新控件您将高兴地了解到,此版本的 Visual Studio 不仅仅专注于有丰富素材的工具箱,它确实在努力地使构建专业水平的用户界面变得更容易,并且无需借助于第三方组件或进行大量的自定义控件开发。第 5 章分析的第一个控件是 ToolStrip,如下图所示。


I-6 MenuStrip、StatusStrip 和 ToolStrip。

您可以看到用两个 ToolStrip控件创建的一个简单窗体。这完全可以在几秒钟之内完成,但事实上还有一些内容需要讨论。首先,您可以看到 ToolStrip控件支持“漂浮”,即用户可在运行时拖动 Tool- Strip 控件并对其进行排列。其次,最上方的 ToolStrip包含您所熟悉的标准图标。这些图标均通过一次单击添加。如果有一些您不想要的图标,只需选中它们然后按 Delete 键即可。ToolStrip不仅仅支持按钮。它还包含文本框、下拉列表、标签,等等。最后,该工具栏与 Microsoft Office 的工具栏极为相似,使得可以轻松构建具有专业外观的应用程序,用户会很自然地懂得如何使用这些应用程序。

菜单栏和状态栏构建于 ToolStrip基础结构之上,使您的菜单栏或状态栏具有各种各样的控件和功能。

在工具箱中,您还会发现 ActiveX Web 浏览器控件的完整 .NET 包装,这使得向应用程序中添加 Web 功能变得简单。该控件可用于显示基于 Web 的帮助或者将用户引向可以购买产品的页面。

现有控件的变化在构建窗体时您最先注意到的事情之一就是对齐线,它可以在您构建用户界面时快速容易地对齐控件,如下图所示。


I-7 使用对齐线对齐控件。

当在设计图面上拖动控件时,您将看到对齐线而不是传统的网格,对齐线使完全对齐控件变得非常简单。对齐线使您能够对齐控件的边缘并且建议控件之间的适当间距。间距由新的 Margin 控件属性控制。

许多控件还包含新的自动完成属性,能够让控件自动为文件名、URL、自定义列表或者其他来源提供建议。

有关构建专业用户界面和新的应用程序配置基础结构的详细信息,请参阅第 5 章“构造用户界面”。

第 6 章,“构建 Web 应用程序”

Visual Studio .NET 2002 和 2003 带来了 Web 开发的变革,较之于传统的 ASP,它们使 Web 开发人员的工作效率有了一个数量级的提高。ASP.NET 2.0 实现了再次提高。该产品团队的目标是将构建 Web 站点所需的代码量至少减少 70%。据说,当 Visual Studio 2005 发布时,该产品团队将很轻松达到这一目标。即使现在,许多站点无需编写代码即可构建完成。

使用 ASP.NET 1.0 和 1.1 版,您可以用声明的方式创建用户界面,但是您必须编写代码来连接到数据库,检索数据,然后将 UI 绑定到数据。在 ASP.NET 2.0 中有一些能够封装数据源的组件。这让您可以用声明的方式将网格连接到数据源(例如,SQL Server)。该绑定非常复杂。您必须更改数据并将更改推回数据库。此新功能也并非完全类似于过去设计时控件的“演示部件”。这些控件真正是按照 UI 外观完全可自定义的方式构造的,并且您可以通过编程或者声明的方式挂接到控件中。

Microsoft 还标识了一些关键方案,并将这些方案的基础结构内置到 .NET Framework。例如,ASP.NET 2.0 具有内置的成员身份和个性化的概念。成员身份是一个功能包,它提供了进行诸如登录、更改密码这样操作的公共控件。它还提供从后端数据库自动存储和检索信息的基础结构。最后,成员身份为您提供通过编程方式对用户进行操作的 API。

ASP.NET 还附带很多新控件以满足关键方案。例如,SiteMapPath控件提供内置的 Breadcrumb 功能,而 SiteMapDataSource使构建站点导航变得容易。母版页 (Master Page) 允许您定义页面某处的公共区,从而只改变内容区。缓存功能也进行了改进,现在可以针对每个用户来缓存数据。

有关 ASP.NET 2.0 的详细信息,请参阅第 6 章“构建 Web 应用程序”。

返回页首返回页首

第 7 章,“Microsoft .NET Framework 增强功能”

增强功能不仅限于开发环境。基础框架本身也包含了一些重要改进。第 2 章描述的泛型,是在 .NET Framework 2.0 版中引入的一项重要增强功能和强大的语言功能。本章介绍基类库、控制台和安全性增强功能。

.NET Framework 包含许多新类以进一步减少您需要编写的代码数量,并使向应用程序添加功能更加简单。StopWatch是一个新类,它可以轻松捕获所用时间的间隔。Trace- Source 类在如何跟踪事件数据方面为您提供了更大的灵活性。System.NET命名空间包含一些重要增强功能,例如,允许 Ping IP 地址。现在,已有一个 Internet Explorer 完全托管的包装。System.XML在性能和功能方面都有了显著增强,而且现在还包括对 XQuery的支持。

有关这些新类、控制台以及安全性增强功能的详细信息,请参阅第 7 章“Microsoft .NET Framework 增强功能”。

第 8 章,“部署应用程序”

使用 Visual Basic 6.0,部署应用程序通常需要构建 Windows 安装程序包。该过程是必要的,因为 Visual Basic 6.0 基于 COM 且应用程序在其正常运行之前通常需要注册很多 DLL。安装程序还将创建“Start”菜单快捷方式,安装数据库,或执行其他所需的任务。

.NET Framework 1.0 和 1.1 版提供更多的安装选项。首先,1.0 版支持常称为 XCOPY 部署的功能。这就意味着,可将简单的应用程序直接复制到硬盘并执行。之所以可以这样做,是因为 .NET DLL 不需要注册。1.0 版还支持称为无接触 (NO-Touch) 部署的功能 — 有时也称为“零冲击部署”(href-exes)。在这种部署方法中,只需将可执行应用程序放在 Web 服务器上即可。当浏览到该应用程序的 URL 时,它将下载并运行。最终得到一个易于部署 Web 应用程序的完整 Windows 应用程序。对于 .NET,即使您需要创建 Windows 安装程序包,那么完成该工作的过程也大大简化了,这是因为您不必担心 DLL 注册问题。

对于 Intranet 应用程序而言,许多人将无接触部署视为一个绝好的方法。通过一个简单的入口,您可以确保用户始终运行该应用程序的最新版本。对于 Visual Studio 2005,Microsoft 极大地增强了通过 Web 分发的应用程序的功能。首先,应用程序现在可以下载并完全安装。此功能创建了适当的“Start”菜单快捷方式,而且(更为重要的是)它使应用程序即使在您脱机时也能完全正常运行。

ClickOnce 应用程序也不要求您必须是管理员才能安装它们(Windows 安装程序包则刚好相反)。最后,ClickOnce 允许您“引导”所需的其他软件作为安装过程的一部分。例如,作为应用程序安装的一部分,ClickOnce 应用程序可以安装 MDAC 甚至 .NET Framework(如果需要)。

有关 ClickOnce 的详细信息,请参阅第 8 章“部署应用程序”。

posted on 2006-10-07 13:50  天使爱比目鱼  阅读(764)  评论(0编辑  收藏  举报