2.7 使用SharpDevelop构建.NET应用程序
SharpDevelop是一种开源且具有丰富功能的IDE,通过它可以用C#、VB.NET、托管扩展C++或者CIL来构建.NET程序集。这种IDE是完全免费的,并且是完全用C#编写的。实际上,你可以下载并手动编译*.cs文件,或是运行setup.exe程序,从而在开发计算机上安装SharpDevelop。以上两种方式在网址http://www.icsharpcode.net/OpenSource/SD/Download处都可以找到相应的下载文件。
安装了SharpDevelop后,选择File→New→Combine菜单选项就可以使用某种.NET语言构建相应类型的项目。在SharpDevelop的术语里,组合(combine)是一些项目的集合(类似于一个Visual Studio解决方案)。假定已经创建了名为MySDWinApp的C# Windows应用程序(如图2-10所示)。
注解 SharpDevelop的1.0版本配置为能够使用C# 1.1编译器。为了能够使用C# 2005语言的新特性和.NET Framework 2.0命名空间,需要激活Project→Project选项菜单项并从Runtime/Compiler选项页更新编译器版本。

图2-10 SharpDevelop New Project对话框
2.7.1 SharpDevelop
SharpDevelop提供了许多提高工作效率的手段,并且在很多情况下,它具有与Visual Studio .NET 2003一样的丰富功能(但是目前还不如Visual Studio 2005强大)。下面是其主要的优点:
l 支持Microsoft和Mono的C#编译器;
l 具有IntelliSense和代码扩展能力;
l 具有Add Reference对话框用于引用外部程序集,包括部署到GAC的程序集;
l 具有可视的Windows窗体设计器;
l 具有各种项目透视窗口(术语为scout,侦查)以查看项目;
l 具有一个集成的对象浏览器工具(称为Assembly Scout);
l 具有数据库操作工具;
l 具有使C#与VB .NET代码相互转换的工具;
l 与NUnit(.NET单元测试工具)和NAnt(.NET构建工具)集成;
l 与.NET Framework SDK文件系统集成。
作为免费的IDE,这已经很出色了,是不是?本章不可能详细地一一介绍这些特性,我们来讨论其中感兴趣的几个。如果需要了解更多关于SharpDevelop的细节,可以从Help→Help Topics菜单选项获得帮助,该软件含有非常详尽的文档。
2.7.2 Project Scout和Classes Scout
当创建一个新组合时,可以使用Project Scout来查看各个项目的文件集、引用的程序集以及源文件(如图2-11所示)。
当希望对当前项目引用一个外部程序集时,只需要在Project Scout里用右键单击References图标并选择Add Reference二级菜单。一旦完成,就可以通过.NET Assembly Browser选项卡从GAC以及定制的程序集里直接选择程序集(如图2-12所示)。
|
|
|
|
图2-11 Project Scout |
图2-12 SharpDevelop的Add Reference对话框 |
Classes Scout提供了一种更面向对象的方式来查看组合,因为它在各个项目内显示命名空间、类型和成员(如图2-13所示)。
如果双击任意项目,SharpDevelop将打开对应的文件并把鼠标光标放置到该项目的定义上。
2.7.3 Assembly Scout
Assembly Scout工具可以从View菜单上得到,该功能允许在项目内以图形的方式浏览被引用的程序集。该工具分解为两个窗格。左边是树状查看控制器,用来查看程序集,并可以查看其命名空间以及所包含的类型(如图2-14所示)。
Assembly Scout工具的右边可以查看在左边窗格选择的各项的细节。不但可以使用Info选项卡查看基本的细节,而且可以查看该项的底层CIL代码,并将它的定义保存为一个XML文件。
|
|
|
|
图2-13 Classes Scout |
图2-14 采用Assembly Scout查看被引用的程序集 |
2.7.4 Windows窗体设计器
Windows窗体是一个用于构建桌面应用程序的工具包(toolkit),本书后面你还将进一步学习。为了继续改进SharpDevelop,单击位于MainForm.cs代码窗口底部的Design选项卡。这样就可以打开集成的Windows窗体设计器。
使用Tools窗口的Windows窗体部分,就可以对正在设计的窗体创建一个GUI(图形用户界面)。作为演示,我们要通过选择按钮图标并单击设计器把一个按钮类型放置在主窗体上。为了更新其GUI项的界面外观,可以使用Properties窗口(如图2-15所示),该窗口通过View→Properties菜单选项激活。从下拉列表里选择按钮并改变按钮类型的各种属性,例如BackColor(背景颜色)和Text(文本)。
使用同一个窗口,可以为给定的GUI项进行事件处理。为此,单击位于Properties窗口顶部的闪电图标。然后,从下拉列表里选择希望进行交互的GUI项(这里是按钮)。最后,通过键入在用户单击按钮时将被调用的方法的名字来处理Click事件(如图2-16所示)。
|
|
|
|
图2-15 Properties窗口 |
图2-16 通过Properties窗口处理事件 |
按下回车键后,SharpDevelop通过生成存根(stub)代码对新方法进行响应。为了完成这个例子,在事件处理函数的作用域内键入以下声明:
void ButtonClicked(object sender, System.EventArgs e)
{
// 用定制的消息更新窗体的标题。
this.Text = "Stop clicking my button!";
}
此时,可以运行程序了(使用Debug→Run菜单项)。毫无疑问,当单击按钮时,窗体的标题将如期进行更新。
现在对于启用和运行SharpDevelop IDE,已经讲得足够多了。尽管对于这个工具还有很多内容可以讲,但我希望你现在对基本知识有了良好的理解。












