第2章编制一个简单的C#应用程序2.1第一个控制台应用程序设计实例控制台应用程序是利用C#语言开发的应用程序类型之一,因为不涉及Windows系统的组成元素,因而结构比较简单。下面介绍如何创建控制台应用程序。【例2-1】在控制台窗口中输出“Helloworld!”字样。具体步骤如下:(1)建立项目先启动VisualStudio.NET。选择“开始”→“程序”→“VisualStudio.NET2008”→“MicrosoftVisualStudio2008”菜单项。通常,开始编写一个C#应用程序,首先应该建立一个项目。在起始页面的“项目”选项卡中单击“创建项目”按钮,或者通过选择“文件”→“新建”→“项目…”菜单项打开新建项目对话框,如图2.1所示。通常,开始编写一个C#应用程序,首先应该建立一个项目。在起始页面的“项目”选项卡中单击“创建项目”按钮,或者通过选择“文件”→“新建”→“项目…”菜单项打开新建项目对话框,如图2.1所示。图2.1用菜单创建项目(2)选择C#项目类型在新建项目对话框的左侧项目类型选项组中选择VisualC#。右侧为模板选项组,VisualStudio为程序员提供了多种类型的模板,如Windows应用程序、类库等。这里选择“控制台应用程序”选项,如图2.2所示。(3)项目名称在图2.2所示的新建项目对话框的下方输入项目名称、文件夹位置和解决方案名称。该项目名称为“welcome”。设置完成后,单击“确定”按钮,VisualStudio将在指定的文件夹中创建解决方案文件,并在该文件夹下创建以项目名称命名的子文件夹,存储项目文件。图2.2新建项目对话框(4)打开项目创建welcome项目后,可在起始页上的“最近的项目”列表中看到该项目的名称,如图2.3所示。再次打开VisualStudio时,直接单击该链接即可打开此项目。或在起始页中单击打开项目,在打开项目对话框中的查找范围内选择项目所在目录,然后选中要打开的项目文件,如图2.4所示。图2.3起始页窗口图2.4打开项目对话框(5)代码编辑器打开项目文件,并进入代码编辑器窗口,如图2.5所示。图2.5代码编辑器窗口(6)编写代码打开Program.cs文件,系统自动添加如下代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespacewelcome{classProgram{staticvoidMain(string[]args){Console.WriteLine(Helloworld);}}}(7)保存项目在“文件”菜单中,单击“全部保存”选项,或在工具栏中单击“保存”按钮。(8)运行程序选择“调试”→“开始执行”菜单项运行结果2.2第一个Windows应用程序实例【例2-2】创建一个Windows应用程序,在窗口中输出“大家好,欢迎使用C#”字样具体步骤如下:(1)运行VisualStudio2008,创建一个Windows应用程序项目,在新建项目的模板中选中Windows窗体应用程序,在“名称”文本框中将项目改名为exwin-01,在“位置”文本框中输入项目保存的目录位置,本例保存在本地硬盘的“E:\ZM\c#example”文件夹,选中“创建解决方案的目录”复选框,然后单击“确定”按钮,如图2.9所示。(2)在“解决方案资源管理器”中,单击Form1.cs,重命名Form1.cs为FormMain.cs(见图2.10)图2.9创建Windows应用程序的新建项目界面图2.10Form1.cs重命名在窗体设计器中选中窗体,然后在属性栏中分别修改窗体的Text属性、Size属性和FormBoardStyle属性,如图2.11所示为修改窗体的Text属性值,观察修改后窗体显示的效果。图2.11修改窗体属性的值(3)从工具箱中向设计窗体拖放一个Label控件。选中该控件,然后修改其Text属性为“大家好,欢迎使用C#”。选择Label1对象,然后设置其Font属性为“隶书,5号字,斜体”,选择ForeColor属性为红色,再选择TextAlign属性值,观察显示效果,并思考如何使某行的信息居中显示。修改AutoSize属性为“False”,拖动该控件右下角改变其大小,观察变化。按F5运行程序,运行界面如图所示。可以看到,没有编写一句代码,就可以完成这样一个功能。2.3C#项目和解决方案项目是一组要编译到单个程序集(在某些情况下是单个模块)中的源文件和资源。例如,项目可以是类库,或一个WindowsGUI应用程序。解决方案是构成某个软件包(应用程序)的所有项目集。一个解决方案中可以有多个项目,但一个解决方案中最多只有一个项目是含有Main方法的,而其他项目中可以有一些类、方法、接口等的定义,是为其他项目服务的。例如,其中可能有一个用户界面,有某些定制控件和其他组件,它们都作为应用程序的库文件一起发布。不同的管理员甚至有不同的用户界面。每个应用程序的不同部分都包含在单独的程序集中,因此,在VisualStudio.NET看来,它们都是独立的项目。可以同时编写这些项目,使它们彼此连接起来。可以把它们当做一个单元来编辑。VisualStudio.NET把所有的项目看做一个解决方案,把该解决方案当做是可以读入的单元,并允许用户在其上工作2.4应用程序起始点前面简单介绍了一个创建Windows应用程序实例。利用这个程序了解一下应用程序的起始点。在“解决方案资源管理器”窗口中双击Program.cs节点,打开Program.cs文件。该文件是“exwin-01”应用程序的入口点,因为它包含了Main()方法,内容如下:1.usingSystem;//引用System命名空间2.usingSystem.Collections.Generic;3.usingSystem.Linq;4.usingSystem.Windows.Forms;5.6.namespaceexwin_01//创建exwin_01命名空间7.{8.staticclassProgram//创建静态类9.{10.///summary11.///应用程序的主入口点。12.////summary13.[STAThread]14.staticvoidMain()//创建Main静态方法,即应用程序的入口点15.{16.Application.EnableVisualStyles();//启用可视化样式17.Application.SetCompatibleTextRenderingDefault(false);//设置呈现格式18.Application.Run(newFormMain());//运行FormMain窗体19.}20.}21.}对程序的进一步说明:第1~4行代码分别使用using关键字引用了4个命名空间(分别是System、System.Collections.Generic、System.Linq、System.Windows.Forms)。第14行代码在类Program中定义了Main方法,该方法为应用程序的入口点,即应用程序运行后,调用的第一个方法。第16行代码调用EnableVisualStyles()方法,启用可视化样式。第17行代码调用SetCompatibleTextRenderingDefault(false)方法,设置呈现格式。第18行代码调用Run()方法,运行FormMain窗体。2.5配置程序集信息在.NET中使用的程序集包括完全自我说明的描述程序集的数据,这样当程序执行时不需要到其他目录或注册表中查询包含在程序集中对象的信息。在“解决方案资源管理器”窗口中的单击Properties节点,然后单击AssemblyInfo.cs节点,打开AssemblyInfo.cs文件。该文件用来配置exwin-01应用程序的程序集信息,内容如下:1.usingSystem.Reflection;2.usingSystem.Runtime.CompilerServices;3.usingSystem.Runtime.InteropServices;4.//有关程序集的常规信息通过下列属性集5.//控制。更改这些属性值可修改6.//与程序集关联的信息7.[assembly:AssemblyTitle(exwin-01)]//设置程序集的标题8.[assembly:AssemblyDescription()]//设置程序集的简介9.[assembly:AssemblyConfiguration()]//设置程序集的配置10.[assembly:AssemblyCompany(AAA)]//设置程序集的公司11.[assembly:AssemblyProduct(exwin-01)]//设置程序集的产品12.[assembly:AssemblyCopyright(Copyright©AAA2011)]//设置程序集的版权13.[assembly:AssemblyTrademark()]//设置程序集的商标14.[assembly:AssemblyCulture()]//设置程序集的文化……说明:第1~3行使用using关键字引用了3个命名空间。第7~14行分别配置程序集的信息,如标题、公司名称、文化环境等