[学习目标]初步掌握Visual Studio.NET(简称VS.NET)集成开发环境及其基本使用;通过实例初步学会利用Visual Basic.NET(简称VB.NET)开发Windows应用程序的流程。理解解决方案、项目与项的含义,并了解利用解决方案及项目对开发进行管理的基本方法。掌握在VS.NET中获得帮助的方法。
如果说,面向对象的可视化编程技术引起了软件开发的一场革命的话,那么Microsoft公司的.NET就是一个非常激动人心的、意义重大的技术变革。因为它已经将Windows GUI和基于浏览器的Internet开发环境紧密地结合在了一起,满足了当今使用日益广泛的基于Internet的应用程序开发的需要。
VB是世界上应用最为广泛的编程语言,借助于.NET Framework,VB也实现了向VB.NET的转变。本单元主要介绍VS.NET的集成开发环境,VB.NET的功能特点,在VS.NET中利用VB.NET开发Windows应用程序的方法,以便使读者对VB.NET有一个总体认识。
1.1 VS.NET集成开发环境初识
【案例1-1】VS.NET集成开发环境
[技能目标]
1. 启动VS.NET开发环境
2. 新建VB.NET项目
3. 集成开发环境(IDE)认识与基本操作
[操作要点与步骤]
1. VS.NET的启动
VS.NET安装成功以后,在"程序"中将产生一个"Microsoft Visual Studio.NET 2003"的程序项,单击"Microsoft Visual Studio.NET 2003"即可启动VS.NET。
2. 新建或打开一个项目
在默认情况下,启动VS.NET时将出现"起始页"对话框。该对话框有三个选项卡(图1-1):"项目"、"联机资源"与"我的配置文件"。在"项目"卡片中列出了最近使用过的项目,可以选择打开。当然也可以单击"新建项目"新建一个项目。本案例选择新建一个项目,项目存放在"D:/VB.net"下,项目名取"VBDemo"。图1-2为新建项目对话框,选择时项目类型选"Visual Basic项目"、模板选"Windows应用程序",项目名与位置按以上要求改写,其他选默认值。
3. VS.NET环境初识
当新建项目成功或打开一个项目后,即可进入VS.NET的集成开发环境(图1-3)。
VS.NET的集成开发环境基本秉承了Visual Studio的一贯风格,但在使用方便、个性化方面做了许多修改。整个界面由标题栏、菜单栏、工具栏、工具箱、解决方案资源管理器、属性窗口等构成。
菜单栏也是由"文件"、"编辑"、"视图"、"项目"、"生成"等菜单构成,其含义将在以后的使用中逐步介绍。
工具栏列出了"标准"、"布局"两个工具栏。VS.NET提供了20多种不同的工具栏,可以根据需要显示或隐藏。当然在"视图"→"工具栏"下选择或右击工具栏也可显示、隐藏指定的工具栏。
图1-1 VS.NET启动起始页
图1-2 新建项目对话框
工具箱提供了VS.NET设计过程中需要的各种类型的控件。由于控件太多,VS.NET对这些控件进行了分类存放。如"Windows窗体"中存放了窗体设计相关的常用控件、"数据"中则存放了与数据库相关的控件等。用户还可以在工具箱上右击,在弹出的快捷菜单中选择"添加选项卡",输入新的选项卡名后以添加用户自定义的选项卡。
解决方案资源管理器与VB原来的"工程资源管理器"类似,它以树状结构包含了与某一个解决方案相关的所有项目、各项目下所包括的各个对象。
属性窗口(图1-4)显示了设计过程中当前对象(窗体、控件等)的相关属性,用户可以通过该窗口个性对象的相关属性。在个性属性时,首先要选中要修改的对象(既可在设计界面上选择,也可在属性窗口的下拉列表中选择)。每个对象有许多属性,属性的排列默认是按分类顺序的,也可以改成按字母排序。
动态帮助是VS.NET提供的非常智能的帮助手段,它可以根据用户当前所进行的工作内容,在帮助列表中显示出与之相关的帮助主题。例如如果用户当前选中的是Button对象,在动态帮助中出现的将是所有与Button相关的帮助信息列表,极大地方便了开发人员。
图1-3 VS.NET集成开发环境IDE
4. VS.NET的窗口操作
VS.NET与以往的开发环境相比,采用了更为先进的窗口管理策略如窗口的标签化、窗口的自动隐藏等。
在开发环境窗口的两边分别有"服务器资源管理器"、"工具箱"和"解决方案资源管理器"、"属性"等四个窗口。这几个窗口都可以采取"可停靠"、"隐藏"、"浮动"和"自动隐藏"等四种不同的定位方式。在"窗口"菜单中或右击窗口标题栏在弹出的快捷菜单中可以很方便地对某一窗口进行定位操作。浮动窗口也可以通过鼠标拖动窗口标题栏来实现,窗口一旦浮动便是一个真正自由的窗口,并不是MDI的子窗口。要使浮动窗口回到原来的位置,可以将该窗口拖动到主窗口的边缘,当出现一个表示其位置的轮廓而且这个位置是正确的话,松开鼠标即可。
双击窗口的标题栏,该窗口就会返回到它原来(上一次)的位置。
VS.NET的窗口还有一个更为先进的管理功能就是窗口标签化。VS.NET为每一个文档窗口都设置了一个选项卡,当一个窗口失去焦点后其对应的选项卡会出现在窗口的边缘,这样单击该选项卡就可以快速切换到该窗口(图1-3)。在开发环境的主窗口也采用了这种管理方法,尤其当打开的文档较多时,极大地方便了文档的切换。
在开发大型应用程序时,开发环境的主窗口空间是非常宝贵的,为了尽量节省屏幕空间,提高浏览效率,可以将主窗口两侧的窗口设置成"自动隐藏"。此时在窗口的边缘会出现该窗口的图标,一旦鼠标靠近该图标标签,相应的窗口会自动弹出(图1-3)。
[相关知识]
"工欲善其事,必先利其器"。VS.NET集成开发环境是开发VS.NET应用程序的强大快速的开发工具。它将程序编辑器、编译器、调试工具、设计工具等完全集成在一个使用界面上,极大地方便了应用程序的开发。程序员可以在不离开该环境的基础上编辑、编译、调试、运行一个应用程序。而且,在该环境中,程序员可以使用一种或多种.NET编程语言(如:Visual C++.NET、Visual C#.NET、Visual Basic.NET等语言)来进行程序的开发。
本书以当前广泛使用的"Visual Studio.NET 2003"为平台来介绍。
由于VS.NET的开发环境非常庞大,而程序员一般在开发应用程序时总是使用某一种开发语言。尽管各种开发语言所使用的环境是类似的,但每种开发语言的键盘方案、窗口布局、帮助筛选器等会有所区别。所以为了配合各种语言,VS.NET在启动的"起始页"中增加了一个"我的配置文件"选项卡(如图1-5所示)。
"我的配置文件"下可以选择VS.NET的配置文件及与此文件相关的键盘方案、窗口布局、帮助筛选器及启动时显示的页面等。在配置文件中可以有多种选择如:"Visual Studio开发人员"、"Visual Basic开发人员"、"Visual C++开发人员"等。在此可以选择"Visual Basic开发人员",这样相关的选项就会改变成与开发VB.NET程序相关的配置。
VB.NET是VS.NET家族中的一个重要成员,也可以说是VB6.0的后继版本,它继承了VB的大部分语法及特征。但VB.NET是继VB4.0以来对VB语言的又一个重大的变革,它建立在微软的.NET框架之上,因此相比VB6.0来说,VB.NET作了许多改进,引入了许多全新的特性。主要有以下几个方面:
图1-5 "我的配置文件"选项卡
(1) 变成了一种真正的面向对象程序设计语言,支持继承、重载、接口、共享成员与构造函数等。
(2) 支持.NET框架的CLS(公共语言规范)特性,支持与C#等其他.NET语言的交互、元数据、公共数据类型、委托等。
(3) .NET框架下,不仅可以开发Windows应用程序,而且还可以开发基于ASP.NET技术的Web应用程序。
(4) 支持多线程与结构化异常处理,彻底抛弃了饱受批评的GOTO命令而实现了错误处理。
(5) 由于已经是完全的面向对象语言,因此在语法上也有了许多改变,如名称空间、数据类型、运算符、过程定义等等。
为了有效地管理程序员在开发工作中所需要的项,如引用、数据连接、文件夹和文件等,VS.NET 提供了两个容器:解决方案和项目。集成开发环境 (IDE)中的解决方案资源管理器可以查看和管理这些容器及其关联项(图1-6)。
一个解决方案可以包含若干个相关的项目与项,而一个项目也包含一些项,这些项表示创建应用程序所需的引用、数据连接、文件夹和文件。
项可以作为项目项,它构成项目,如窗体、源文件和类。项也可作为表示文件的解决方案项,适用于整个解决方案,位于解决方案资源管理器的"解决方案项"文件夹中。
[知识扩展]
1. VS.NET安装简介
l 环境要求:
VS.NET非常庞大,对计算机的环境要求比较严格,否则将难以充分利用其提供的各种功能。
(1) 硬件环境
推荐配置:PIII 600MHz以上,256M以上的RAM。系统盘上需要500M,安装盘上需要1.5G,如果要安装MSDN,则另外需要1.9G。
(2) 软件环境
操作系统:Windows Server 2003、Windows XP 、Windows 2000 (Professional|Server) sp3
如果要开发Web应用程序,操作系统必须安装Internet信息服务(IIS)。
当今的计算机基本都能满足VS.NET的硬件运行环境,但建议内存最好配置成256M以上,这样在运行多个应用程序或开发大型项目时会显著提高性能。另外VS.NET的开发并不支持Windows 9X系列,但可以在这些平台上部署应用程序并进行远程调试。
l 安装步骤
一般VS.NET 2003共有6张光盘,其中前3张是程序安装盘,后3张是MSDN Liberay。
(1) Windows组件更新
在安装程序自动安装VS.NET之前,安装程序首先检查Windows组件是否满足VS.NET运行的需要,如果不满足,则需要先运行Windows组件更新程序(第3张光盘),待更新完成后,将重新回到VS.NET的安装界面。
(2) 安装VS.NET
在安装界面选择第2个选项,进入VS.NET的安装环节。接受协议后,输入正确的序列号,并选择安装的项目与安装位置即可进入正常的安装过程直到结束。
(3) MSDN安装
VS.NET安装结束后,安装程序又回到安装界面,此时可选择第3个选项安装MSDN。这一步不是必须的,不安装并不影响VS.NET的运行,但所有的联机帮助将不能使用。
2. VB.net开发类型
在图1-2的新建项目对话框中可以看出,VB.NET可以创建不同类型的工程项目以适应不同的应用需要。表1-1列出了VB.NET可以开发的主要工程类型简单说明。
表1-1 VB.NET主要工程类型
工程类型 用途说明
Windows应用程序 Windows Forms中基于窗体的本地应用程序,与VB6窗体程序类似
类库 含有一组其他程序使用的相关类的工程,编译为DLL的组件
Windows控件库 创建一个或多个Windows Forms控件的工程
ASP.NET Web应用程序 使用Web Forms创建基于浏览器的Web应用程序
ASP.NET Web服务 创建Web Service
Web控件库 创建放置在Web Forms上的服务器控件
控制台应用程序 利用基于字符的界面创建应用程序
Windows服务 创建将作为Windows Service运行的程序。这一类程序是驻留-执行程序,通常是执行系统级别的任务
1.2 VB.NET快速入门
【案例1-2】欢迎进入奇妙的VB.NET世界
(a) (b)
图1-7 欢迎进入奇妙的VB.NET世界
这是用VB.NET开发的一个非常简单的界面,程序运行后显示图1-7所示的窗口,单击"确定"按钮后,在文本框中显示"欢迎进入奇妙的VB.NET世界"。
[技能目标]
1. 项目的创建
2. 界面设计
3. 控件属性设置
4. 代码的编写
5. 项目的保存与运行
[开发步骤]
(1) 启动VS.NET 2003
(2) 在"起始页"的"项目"选项卡上选择"新建项目",在如图1-2的新建项目对话框中作如下操作:
①在"项目类型"中选择"Visual Basic项目",在"模板"中选择"Windows应用程序";
②"名称"中输入"VBnet01","位置"中输入"D:/VB.net"或单击"浏览"进行选择;
③其它选择默认值,单击"确定"按钮,项目创建成功。
(3) 界面设计与调整
项目创建成功后,将进入如图1-3类似的开发环境界面,此时就可在名称为Form1的"窗体设计界面"上添加控件,设计窗体的界面了。在添加控件以前,首先将窗体调整为合适的大小。
在工具箱的"Windows窗体"选项卡中单击文本框(TextBox)控件,将鼠标移到窗体的适当位置上再单击一次,界面上就会出现文本框了。文本框中会出现默认的"TextBox1"文字。
用同样的方法在窗体上添加一个命令按钮(Button),按钮上默认的标题为"Button1"
1、选择控件并拖动到窗体的适当位置后松开鼠标;
2、双击控件;
3、对已经在在的同类型控件可以复制、粘贴。
大部分控件上都有标题,其默认的内容为控件名称加序号(第一个为"1"、第二个为"2"…)
控件添加后(如图1-8),还要对其进行适当的调整,如位置、大小等。
与其他的可视化编程语言一样,在VB.NET中无论是要调整对象的大小、位置,还是要对对象进行编程,都要先选中对象。
当某一个对象被选中后,在该对象的周围会出现8个尺寸控点(与OFFICE是类似的)。此时就可以使用通用的方法来改变对象的位置以及其大小了。
单个选中对象的控点分为透明与白色两种,凡是透明的控点表示在该方向上是不能改变其对象大小的;而白色的则正好相反。如文本框只有水平方向上的两个控点是白色的,意味着该文本框只能调整其宽度,而不能调整其高度。
(4) 属性设置
在窗体设计界面上的任何对象都有许多属性(包括窗体本身),对其中的有些属性(如显示的标题、文字的大小等)要进行设置。
①将窗体的标题栏文字改为"欢迎":在窗体的空白处单击(或在属性窗口上方的下拉列表中选择Form1),在属性窗口中找到"Text"属性,在其右边将文字改为"欢迎"。
②将文本框中的文字改为空并修改显示的文本字体:选中文本框后在属性窗口的"Text"属性中将文字删除。选中"Font"属性,单击其右边的"…"按钮,打开相应的字体对话框,将其改为宋体、四号、粗体。并适当加大文本框的宽度。
③将命令按钮的标题改为"确定":选中命令按钮后在属性窗口的"Text"属性中将文字改为"确定"。
④将窗体的文件名改为"vb01_01":在解决方案资源管理器中单击"Form1.vb"文件,在属性窗口的文件名中修改即可。
属性设置后,窗体界面如图1-9所示。
(5) 代码编写
经过以上设计,界面基本完成,现在就可以试运行以观察其效果了。单击工具栏上的 按钮或按快捷键F5就可以运行程序了。但运行后当单击命令按钮时,程序根本没有任何反应,这是因为还没有为按钮编写事件过程代码。
本案例的代码非常简单。双击"确定"按钮,进入Form1的代码窗口(如图1-10),在光标闪烁处输入以下代码:
TextBox1.Text = "欢迎进入奇妙的VB.NET世界!!"
(6) 项目的保存与运行
代码输入完成,整个项目的设计基本结束,此时可以先将项目保存,然后再正式运行该项目。当然在运行项目时,如果没有保存会自动先保存。
项目运行后,将首先出现图1-7a,单击"确定"按钮后,显示为图1-7b。
[相关知识]
在知识点1-1-4中介绍了解决方案、项目与项的概念及关系。VB.NET在创建一个新项目时会根据以下两种不同的情况进行不同的处理。
(1) VS.NET中没有打开任何解决方案时,新建项目的对话框如图1-2所示。默认情况下,在名称处输入项目名时,会在"新解决方案的名称"处出现同名的解决方案。表示在创建项目时首先要在"位置"文件夹下创建一个解决方案文件夹。如果选中"创建解决方案的目录"则可以修改解决方案的名称,同时在解决方案文件夹下创建一个"解决方案名称.SLN"的文件。如没有选中,则不会产生"解决方案名称.SLN"的文件
(2) VS.NET已经打开了一个解决方案时,新建项目"解决方案名称.SLN"对话框将如图1-11所示。显然增加了两个单选钮"添入解决方案"与"关闭解决方案"。选择前者表示将新项目加入到已经打开的解决方案中作为另一个项目;后者表示先关闭已经打开的解决方案然后新建解决方案与项目。
项目创建以后,VB.NET将在指定的文件夹下自动生成相关的目录结构(如图1-12所示)。最上层为解决方案文件夹,此文件夹下为项目文件夹。在项目文件夹下有两个文件夹:编译文件夹bin(存放已经编译的可执行文件)、对象文件夹obj(主要存放调试相关的文件)。所有的VB.NET源文件均存放在项目文件夹下。
当一个解决方案下有多个项目时,将产生多个对应的项目文件夹,其结构都是类似的。
图1-11 新建项目对话框之二
属性定义了窗体、文档或控件的状态、行为和外观。窗体及其所属的控件都有默认的属性,默认的属性不一定符合程序的需要,因此常常要对部分属性重新进行设置。属性设置是应用程序开发中的重要一步。与VB6类似,在VB.NET中属性的设置方法也采用两种方法:设计时设置(静态设置)与运行时设置(动态设置)
设计时设置:在设计窗体布局时进行,对象的属性一旦设置在程序的运行期间便不再改变。静态设置通过属性窗口进行。在"属性窗口"中设置属性很简单,只要在属性列表中选定属性名称,然后在属性窗口的右列中输入或选择新的属性值即可。
有些属性有预定义的设置值清单。单击设置框右侧的下拉箭头,可以显示出这个清单,或者双击列表项,可以循环显示这个清单;有些属性的右边会出现"…"按钮,单击该按钮将出现一个相关的对话框供用户进行选择。
如果在屏幕上没有属性窗口,则可以通过选择"视图"→"属性窗口"命令或在工具栏中单击"属性窗口"按钮 来显示。
运行时设置:指在程序运行期间通过代码对对象的属性进行设置,这种设置是动态的,可以根据程序运行的情况进行不同的设置。动态设置使用了VB.NET最简单的赋值语句来实现,如案例1-2中设置文本框显示内容的语句:
TextBox1.Text = "欢迎进入奇妙的VB.NET世界!!"
如果要对多个控件的同一种属性进行相同的设置,可以同时选中待设置的控件,在属性窗口中进行一次性的设置。
VB.NET的代码编辑器(也称文本编辑器)与VB6.0的代码编辑器类似,但其有许多新的特点。可以用下列方法打开代码编辑器:
(1) 在"解决方案资源管理器"中,选择一个窗体或模块,然后选择"查看代码"按钮;
(2) 双击窗体或窗体中的控件。
(3) 在窗体中,右击一个控件或窗体或控件并选择"查看代码",或者在"视图"菜单下选择"代码"命令。
在案例1-2中,双击命令按钮后打开的代码编辑器如图1-13所示。
图1-13 代码编辑器
VB.NET的代码结构与VB的代码结构有较大的差别(在第5单元中将有详细的介绍)。整个窗体的所有过程代码均包含在一个名为窗体名的类中。而且其中有一部分代码是由窗体设计器自动生成的代码,由于其一般并不需要用户修改,所以这部分代码呈折叠状态。另外,在VB.NET的事件过程结构与VB的事件过程结构也有区别,如命令按钮的单击事件过程在VB中是没有参数的,而在VB.NET中却带了两个参数(详细内容将在单元2中介绍)
VB.NET代码编辑器的默认设置可以满足正常的编程需要,但根据实际情况也可以更改这些设置。更改方法是打开"工具"→"选项"→"文本编辑器"→"常规"或"Basic"这两张选项卡中可以修改诸如显示、自动功能、制表符大小以及VB专用设置等。
1.3 获 取 帮 助
在应用程序的开发过程中总会遇到方方面面的问题(如对某些属性的设置不熟、忘记了某些命令的语法等),解决这些问题除了查阅相关的资料以外,参考VS.NET所提供的联机帮助是最好的选择。
VS.NET 中的"帮助"与开发环境 (IDE) 紧密地集成在一起(前提是安装了VS.NET的MSDN Library),旨在根据开发工作环境为您提供所需的信息。其帮助功能非常强大,基本在任何情况下都可以提供所需要的帮助。
当设计对象并为其编写功能代码时,编辑器可以提供语句结束,该语句结束提供了所需的语言关键字、方法和属性的语法信息。如果想更广泛的检查库或对象的功能,可以使用对象浏览器。如果需要更多有关特定语言元素的用法和功能的信息,可以使用 F1 帮助显示语言参考主题。
当在集成开发环境 (IDE) 中工作时,"动态帮助"窗口可以显示与当前工作相关的主题的链接选择。例如,当开发者位于窗体设计器时的动态帮助窗口如图1-14所示。这些主题可以包含完成任务的过程,如介绍新技术的演练,或完成部分开发工作的编程实践。动态帮助的其他类别包括示例和相关的培训主题。当然,F1 帮助根据选定的用户界面元素或看到的错误信息显示参考主题。可以通过在集成开发环境中选择不同的点来指定"动态帮助"窗口的上下文。F1 帮助根据选定的 UI 元素或看到的错误信息显示参考主题。
除了在"动态帮助"窗口中取得帮助以外,在该窗口中还提供了三个按钮"目录"、"索引"与"搜索",用户通过这三个按钮可以获取更多、更全面的帮助。
1. 通过目录定位主题
单击"目录"按钮后,将会出现名为"目录"的选项卡式窗口,如图1-15。
(1) 展开或收缩节点
在目录中单击节点前的加号(+)可展开此节点,然后双击要查看的项目。单击节点前的减号(-)可收缩此节点。
可使用上下方向键在垂直方向移动来定位节点,使用左右方向键可展开和收缩节点;使用工具栏上的"前进"和"后退"按钮来显示过去查看过的信息。
(2) 单击目录中的选中的某一主题,将在主工作区打开一个与该主题相关的窗口,显示帮助的内容。
2. 通过索引查找信息
使用索引就像使用一本书的目录一样,通过索引可快速找到特定的信息。MSDN的"索引"选项卡包含了一个关键字列表,这些关键字与众多的MSDN Library主题相关联。使用索引定位主题的方法是:
单击 "索引"按钮,将出现索引的选项卡式窗口(图1-16),然后键入或选择一个与所需查找信息有关的关键字;选中关键字后,双击该主题,将在主窗口显示相关的帮助内容。
图1-15 目录窗口 图1-16 索引窗口
3. 从Internet上获得帮助
在MSDN Library中有众多的内部链接以及与外部网站的链接。MSDN查阅器使用了Internet Explorer浏览器的引擎,其默认的设置为脱机模式,但当激活了与外部网站的链接后就会切换到联机模式,与Internet上相关的网站建立连接。
除此之外,Internet上有众多用于学习和交流的VB站点,包括微软官方站点。通过这些站点可以与世界各地的VB爱好者互相学习和交流,获取软件开发方面的资料。充分利用好Internet ,将使读者受益匪浅。常用的Internet站点见本书最后所列的网上资源内容。
练习园地1
一、基础题
1. VS.NET包含哪些开发语言?
2. VS.NET的集成开发环境与VB开发环境有哪些异同?有哪些特点?
3. IDE中的配置文件有什么作用?
4. 何为解决方案、项目与项?三者之间有什么关系?
5. 动态帮助的特点是什么?如何使用?
6. VS.NET运行环境有哪些要求?
9. 在VB.NET中创建应用程序的步骤有哪些?
11. 在VB.NET中新建一个项目后,会在相应磁盘对应的文件夹中产生相关的结构,试分析项目文件夹的结构。
12. 在VB.NET可以进行哪些类型的开发?
二、实战题
1. 如条件许可,在计算机上安装VS.NET 2003开发环境。
2. 熟悉VB.NET IDE的使用:
(1) 项目的创建
(2) IDE的组成
(3) 工作区、工具箱、解决方案资源管理器、属性窗口等的操作
(4) 选项卡式窗口操作、窗口定位操作、相关工具栏操作等。
3. 完成案例1-2,同时增加一个"退出"按钮,单击后能自动退出程序。
4. 掌握VB.NET的各种帮助方法的使用,试采用适当的方法完成下列任务的帮助,并写出解决方法或操作步骤:
(1) 如何修改按钮上的文本?
(2) Windows窗体上可以使用哪些控件?
(3) 如何创建Windows窗体?
三、挑战题
.NET技术与J2EE技术是目前软件开发的两大主流技术,试从Internet上搜索相关信息,比较这两种典型的开发技术,并分析两种技术的应用场合。