C#项目开发实战密码扶松柏著pdf下载pdf下载

C#项目开发实战密码扶松柏著百度网盘pdf下载

作者:
简介:本篇主要提供C#项目开发实战密码扶松柏著pdf下载
出版社:博远慧达图书专营店
出版时间:2015-08
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

   图书基本信息
图书名称 C#项目开发实战密码
作者 扶松柏著
定价 69.8元
出版社 清华大学出版社
ISBN 9787302403272
出版日期 2015-08-01
字数 860000
页码
版次 1
装帧 平装
开本 16开
商品重量 0.4Kg

   内容简介

C#是当今使用为频繁的编程语言之一,一直在开发领域中占据重要的地位。本书通过12个综合案例的实现过程,详细讲解C#在实践项目中的综合运用过程,这些项目从作者的学生时代写起,到项目经理结束,一直贯穿于作者重要的开发时期。

章讲解一个俄罗斯方块游戏的具体实现流程;第2章讲解多媒体学习社区系统的具体实现流程;第3章讲解大东科技人事管理系统的具体实现流程;第4章讲解在线留言簿系统的具体实现流程;第5章讲解浪漫满屋通信录系统的具体实现流程;第6章讲解在线点歌系统的具体实现流程;第7章讲解在线商城系统的具体实现流程;第8章讲解一个企业交互系统的具体实现流程;第9章讲解一个餐饮管理系统的具体实现流程;0章讲解一个短信群发系统的具体实现流程。1章讲解超市进销存系统的具体实现流程;2章讲解家庭视频监控系统的具体实现流程。

在具体讲解每个实例时,都遵循项目的进度来展开,从接到项目到具体开发,直到后的调试和发布。内容循序渐进,并穿插学习技巧和职场生存法则,读者全面掌握C#。

本书不但适合C#初学者阅读,也可供有C#基础的读者学习,亦可作为有造诣的程序员的参考书。


   作者简介

   目录

   编辑推荐

   文摘

  
章  俄罗斯方块游戏
  
  俄罗斯方块游戏是一款曾经风靡全球的电视游戏机和掌上游戏机游戏产品,它造就过令人惊奇的商业价值,影响过一代游戏产业链。
  这款游戏初是由苏联的游戏制作人Alex Pajitnov制作的,它看似简单,却变化无穷,令人玩起来上瘾。
  本章将介绍如何在Visual Studio 2013环境下开发一款俄罗斯方块游戏,从而使读者能够迅速了解使用Visual Studio 2013集成开发环境创建小型、简单游戏的方法。
  在开发过程中,读者将可以体验到C#所具有的强大功能,并熟悉其可视化的编程方式。
  
  
  
  
  001走进C#的世界
  002.NET Framework简介
  003几个重要的概念
  004C#的地位
  005C#与Java、C++的关系
  006C#的基本语法
  007C#的数据类型
  008基本类型
  009给变量命名
  010变量的声明和赋值

1.1  赢 在 规 划
      :视频\章\赢在规划.avi
  
  当一名程序员从实习生开始做起,依次经历码农、软件工程师、架构师、CTO等职位的磨砺后,蓦然回首,会发现自己的成功并非偶然!如果需要总结出自己的成功秘诀,那么秘诀就是“比别人更加细致地做工作”。
  在众多应届毕业生中,我们要想胜出,就要坦然面对职场竞争,作为刚刚步入职场的程序员,应该从细节上为自己的成功做好准备,这里的细节就是指职业规划。良好的职业规划决定了程序员以后的发展方向和具体轨迹,沿着规划的足迹行走的人,其成功率要远远高于那些好似“无头苍蝇”的迷茫者。
1.1.1  赢在起点——程序员的职业规划
  通常来说,程序开发人员的职业发展有如下所示的几个选择:
专注于技术,成为技术专家。
转型到技术型销售、技术支持等。
随着技术的成长,从技术性管理走向高级管理。
  上述三个方向是都能看得很清楚的,并且这三个方向都是以技术为基础的。在扎实的技术基础上,如果有比较强的抽象设计能力,而且又打算专注于技术开发,则做架构师是一个不错的选择;如果待人接物能力突出,善于跟客户打交道,则可以转型到销售部门,做技术支持;如果性格更适合于管理,情商表现很突出,则技术管理岗位乃至高级管理岗位应该是下一步的方向。
  所以,对于已经工作两年以上的程序员来说,一般可以有几种基本的职业选择:技术专家、软件架构师、实施顾问或销售。并且,无论是C、C++、C#、Java、.NET还是数据库领域,都要首先成为专家,然后才可能继续发展为架构师。尽管架构师的职位待遇优厚,可以工作一辈子,但这种工作职位是很有限的,目前在我国的IT行业中,对架构师的条件要求比较苛刻,且并不是很合理的,与国际上同行业的现状相比,是有差距的。
1.1.2  赢在项目开发伊始——做好项目分析
  很多开发者,特别是一些初级开发者,写程序时,总是在看到功能需求后,就立即投入到代码编写工作中,需要什么功能,就编写函数去一一实现。
  按照这种习惯做事情,在后期调试时,却总会出现这样或那样的错误,可能需要返工,重新做大量的修改。
  幸运的是,初学者所接触到的,一般都是小项目,修改的工作量也不是很大。
  但是,如果在大型项目中,要对几千行代码返回修改,则是一件很恐怖的事情!
  可见,提前做好项目分析和规划是非常重要的。
  一个软件项目的开发主要分为5个阶段,分别是需求分析阶段、设计阶段、编码阶段、测试阶段和维护阶段。这里,需求分析阶段所得到的结果,是软件项目开发中其他4个阶段的条件。从以往的经验来看,需求分析中的一个小小的偏差,就可能导致整个项目无法达到预期的效果,或者说,可能导致终开发出的产品不是用户所需要的。
  软件需求分析的任务,不是确定系统是怎样完成工作的,而是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。它所做的工作是深入描述软件的功能和性能,确定软件设计的限制,以及软件同其他系统的接口细节,定义软件的其他有效性要求。
  我们可以把软件需求分析的过程具体分为4个阶段,分别是对问题的识别、分析与综合、制定规格说明和评审。
1. 对问题的识别
  对问题的识别是指系统分析人员研究可行性分析报告和软件项目实施计划,确定目标系统的综合要求,并提出这些需求实现的条件,以及需要达到的标准。这些需求主要分为功能性需求和非功能性需求两种,具体如下。
  (1)功能需求:列举出所开发的软件在功能上应具备什么。
  (2)性能需求:给出所开发软件的技术性能指标,如存储容量限制、运行时间限制、安全保密性要求等。
  (3)环境需求:软件系统运行时所处环境的要求。如硬件方面的机型、外部设备、数据通信接口;软件方面的系统软件(包括操作系统)、网络软件、数据库管理系统;使用方面的部门制度、操作人员的技术水平等。
  (4)可靠性需求:对所开发的软件在投入运行后不发生故障的概率按实际的运行环境提出要求。所以对于重要的软件,或是运行失效会造成严重后果的软件,应提出较高的可靠性要求。
  (5)安全保密要求:应当在这方面恰当地做出规定,对所开发的软件给予特殊的设计,使其在运行中的安全保密性能得到必要的保证。
  (6)用户界面需求:为用户界面细致地规定应该达到的要求。
  (7)资源使用需求:开发的软件在运行时和开发时所需要的各种资源。
  (8) 软件成本消耗和开发进度需求:在软件项目立项后,要根据合同规定,对软件开发的进度和各步骤的费用提出要求,作为开发管理的依据。
  (9) 预先估计以后系统可能达到的目标,这样,可以比较容易对系统进行必要的补充和修改。除了这些必需的需求,问题识别的另一个工作是建立分析所需要的通信途径,以保证能顺利地对问题进行分析。
2. 分析与综合
  分析与综合的目标,是给出目标系统的详细逻辑模型。在此步骤中,分析和综合工作需反复地进行。
3. 制定规格说明
  需要编制需求分析文档,这种文档又称为软件需求规格说明书。除了编写软件需求规格说明书之外,还要制定数据要求说明书,以及编写初步的用户手册。

4. 评审
  需求分析评审,是指在需求分析的后一步,对系统功能的正确性、完整性和清晰性以及其他需求给予评价。
1.2  个项目
      :视频\章\个项目.avi
  
  在做一个项目之前,要做好构思和规划工作,并根据需要制定开发流程。本项目的开发流程如图1-1所示。

图1-1  本项目的开发流程
  对于初次开发完整软件项目的程序员来说,开发的个项目十分重要。在开发伊始,可能会信心不足。此时,就需要建立充分的自信心。
  作为一名程序员,面对项目时,我们要仔细分析,想法尝试,想法去实现,这样才能进步,才能找到自己的不足。
1.3  功 能 描 述
      :视频\章\功能描述.avi
  
  在程序员开发一个应用系统之前,需要弄清这个应用系统的使用过程和的具体功能。几乎所有的程序员都会知道这一点,但是绝大多数开发者都对此不重视,认为太基本、太简单和太理所当然。
  在此我们提醒开发人员,要重视市场调研工作。因为市场的发展是瞬息万变的,一夜之间可能会诞生很多的新奇好用的应用。
  所以,要想更好地做好俄罗斯方块游戏项目的功能分析工作,需要将这款游戏试玩几次,全面了解俄罗斯方块游戏的具体玩法。
  为此,作者专门从网上下载了一款俄罗斯方块游戏,并详细地进行了试玩。
  其游戏界面效果如图1-2所示。很华丽,是不是?我们将取其精华,做个简单的。
  根据俄罗斯方块游戏的游戏规则和要求,可以总结出俄罗斯方块游戏的基本功能模块。当然,因为俄罗斯方块游戏是一款在市面中流行多年的游戏,所以游戏的基本玩法和功能大家都耳熟能详。这就有利于在项目规划伊始进行玩法规划设计。显然,这是一个比较“庞大”的工程,相关的要点将在接下来的内容中进行讲解。

图1-2  某款俄罗斯方块游戏的界面
  (1)由软件项目的开发流程,可以做出一个简单的项目规划书,整个规划书分为如下两个部分:
系统需求分析。
结构规划。
  (2)俄罗斯方块游戏项目的具体开发流程如图1-3所示。

图1-3  俄罗斯方块游戏项目的具体开发流程
功能分析:分析整个系统所需要的功能。
结构规划:规划系统中所需要的功能模块。
总体设计:分析系统处理流程,探索系统核心模块的运作。
数据结构:设计系统中需要的数据结构。
规划函数:预先规划系统中需要的功能函数。
具体编码:编写系统的具体实现代码。

1.3.1  功能模块分析
  本项目实例的主要功能就是控制游戏的运行,实现游戏的完整过程。具体来说,主要包括如下功能模块。
  (1) 游戏运行界面:供用户在可视平台下控制游戏。
  (2) 游戏控制菜单:可以控制游戏的开始、退出和级别选择。
  (3) 设置菜单:可以设置游戏的显示样式,并提供游戏帮助等信息。
1.3.2  游戏的模块结构
  游戏的模块结构如图1-4所示。

图1-4  游戏的模块结构
1.3.3  游戏的运行流程
  具体的运行流程如图1-5所示。

图1-5  具体的运行流程
  

1.4  搭建开发平台
      :视频\章\搭建开发平台.avi
  
  一款好的开发工具能够决定整个项目进展的顺利性。但是长久以来,我们一直很困惑,因为Visual Studio .NET已经推出好几个版本,市面中流行的是Visual Studio 2010,而当前新的版本是Visual Studio 2013。
  工具的不断更新虽然提升了开发效能,但也提高了学习成本。本项目将使用Visual Studio 2013工具开发,这样可以体验Visual Studio 2013的新功能。
1.4.1  安装Visual Studio 2013
  在安装Visual Studio 2013之前,需要先明确如下硬件要求:
好有酷睿II 2.0GHz以上的CPU。
至少应有2GB的RAM内存,其中1GB用于维持操作系统运行。
至少10GB的硬盘空间。
  Visual Studio 2013的具体安装步骤如下所示。
  (1)将安装盘放入光驱,或双击存储在硬盘内的安装文件autorun.exe,弹出“开始安装”界面,如图1-6所示。
  (2)在出现的“安装路径”界面中选择安装路径,并勾选“同意安装条款”选项,单击“下一步”按钮,进入安装起始页界面,在这里选择将要安装的功能,如图1-7所示。在此建议选中,避免以后安装时遇到不可预知的麻烦。

图1-6  “开始安装”界面 图1-7  选择安装的功能
  (3)单击“安装”按钮,出现安装进度界面,开始安装,如图1-8所示。
  (4)安装完成后,出现“重启”界面,在该界面中单击“立即重新启动”按钮。
  (5)重启后,将会继续安装,进度完成后,将完成所有的安装工作,如图1-9所示。

图1-8  安装进度界面图1-9  安装成功
  (6)完成安装后,可以从“开始”菜单中启动Visual Studio 2013,如图1-10所示。

图1-10  启动Visual Studio 2013
  首次打开安装后的Visual Studio 2013时,将会弹出“选择默认环境设置”对话框,如图1-11所示。本书中用C#开发ASP.NET程序,所以选择“Visual C#开发设置”选项。
  然后单击“启动Visual Studio”按钮,开始加载用户环境设置,如图1-12所示。

图1-11  “选择默认环境设置”对话框图1-12  加载用户环境设置
  配置完成后,将来到Visual Studio 2013的集成开发界面,如图1-13所示。

图1-13  Visual Studio 2013默认的集成开发界面
1.4.2  规划项目文件
  安装Visual Studio 2013之后,发现比以往版本的界面好看了,具体增强的功能还得在后面的使用中才能体会到。接下来,需要新建一个名为“you”的窗体项目文件。并新建项目中需要的程序文件,在VS资源管理器中的效果如图1-14所示。

图1-14  实例中资源管理器的效果
  各个构成文件的具体说明如下。
文件Form1.cs:是项目的窗体文件,项目运行后,将调用各窗体元素的对应属性来显示窗体,并且设置各控件的对应事件处理程序。
方法定义文件you.cs:功能是使用C#设计项目所需要的各种功能方法,当其他文件需要时,只需调用方法的文件名即可。
文件Program.cs:是整个项目的入口文件。
文件Form1.Designer.cs:设置窗体各控件和组件的属性。
  历时两天,确定好了整个项目的功能模块,做好了整体规划,并选好开发工具开始开发了。这几天体会到总体设计是一个项目的开始,也是后续工作得以顺利进行的前提。所以在此阶段应当是一丝不苟的,考虑到一切影响因素,尽量为后续工作打好坚实的基础。这样看似前面的工作使用了较多的时间,但实际上是节约了后面的时间。总结完毕之后,决定早点休息,为接下来的界面设计养精蓄锐。
1.5  界 面 设 计
      :视频\章\界面设计.avi
  
  界面设计是实现窗体项目的个步骤,需要在Visual Studio 2013窗体中插入布局控件。系统窗体界面是项目运行后显示的界面,也是游戏的运行界面,用户可以在此窗体上实现对游戏的控制。
  使用Visual Studio 2013可以轻松地实现对游戏窗体界面的设计。在界面设计的过程中,需要遵循软件用户界面的设计原则。
  软件用户界面(Software User Interface)是指软件用于同用户交流的外观、部件和程序等。软件界面的设计,既要从外观上进行创意以达到吸引眼球的目的,又要符合图形和版面设计的相关原理。
  通常来讲,软件用户界面的设计应遵循以下几个基本原则。
  (1)面向用户(User-oriented)
  设计软件首先要明确到底谁是使用者,要站在用户的观点和立场上来设计软件。要做到这一点,必须要与用户进行沟通,了解他们的需求、目标、期望和偏好等。界面的设计者要清楚,用户之间差别很大,他们的能力各有不同。另外,用户使用的计算机机器配置也是千差万别的,包括显卡、声卡、内存、操作系统等都可能不同。设计者如果忽视了这些差别,设计出的程序在不同机器上的表现就会比较混乱。
  (2)KISS(Keep It Simple and Stupid)
  KISS原则就是Keep It Sample and Stupid(简单明快),简洁和易于操作是设计的重要的原则。毕竟,软件建设出来是为普通人群服务的,没有必要在界面上设置过多的操作。该原则一般的要求是减少大幅图片和动画的使用,确保操作尽量简单,并且有明确的操作提示,软件所有的内容和服务都在显眼处向用户做出说明等。
  (3)布局控制
  在界面布局方面,很多设计者重视不够,界面设计得过于死板。如果界面布局凌乱,堆砌了大量的信息,就会干扰正常使用。
  (4)色彩的搭配和文字的可阅读性
  颜色是影响界面的重要因素,不同的颜色对人的感觉有不同的影响,例如,红色和橙色使人兴奋和心跳加快,黄色使人联想到阳光,是一种快活的颜色,黑色显得比较庄重。
  为方便阅读软件上的信息,可以参考报纸的编排方式,将软件内容分栏设计。
  另一种能够提高文字可读性的因素是所选择的字体,通用的字体(Arial、Courier New、Garamond、Times New Roman、中文宋体等)易阅读,适合用于正文。特殊字体用于标题效果较好,但是不适合正文。如果在整个界面中使用很多特殊字体(如 Cloister、Gothic、Script、Westminster、华文彩云、华文行楷),则人们阅读起来感觉会很糟糕,会使阅读颇为费力,眼睛很快就会疲劳,不得不转移到其他界面。
  (5)和谐一致性
  通过对软件的各种元素(颜色、字体、图形、空白等)使用的规格,使得设计良好的界面看起来显得和谐。
  或者说,软件的众多单独界面应该看起来像一个整体。
  软件设计上要保持一致性,这是很重要的一点。
  一致性的结构设计可以让浏览者对软件的形象有深刻的记忆,一致的导航设计可以让浏览者迅速而又有效地进入软件中自己所需要的部分,一致的操作设计可以让浏览者快速学会在整个软件中的各种功能操作。如果破坏这一原则,就会误导浏览者,并且让整个软件显得杂乱无章,给人留下不良的印象。
  (6)个性化
  符合网络文化
  企业软件不同于传统的企业商务活动,要符合Inter网络文化的要求。整个互联网的文化是一种休闲的、非正式性的、轻松活泼的文化。
  在软件上使用幽默的网络语言,可以创造出一种休闲的、轻松愉快的、非正式的氛围,会使软件的访问量大增。
  塑造软件个性
  软件的整体风格和整体气氛表达要与企业形象相符合,并应该很好地体现企业CI。
  在这方面,比较经典的案例有:可口可乐个性鲜明的前卫软件Life Tastes Good;工整、全面、细致的通用电气公司软件We bring good things to life(GE带来美好的生活);崇尚科技创新文化的3M公司软件Creating solutions for business, industry and home等。
  在接下来的内容中,将遵循上述界面设计原则,创建俄罗斯方块游戏软件的界面。
1.5.1  制作游戏窗体
  本游戏项目窗体界面的设计过程如下。
  (1)打开Visual Studio 2013,新建一个名为“you”的Windows窗体应用程序,“新建项目”界面如图1-15所示。
  (2)根据面向用户的设计原则,从工具箱中依次将4个Button控件和1个TrackBar控件拖入窗体中,各控件从上到下的具体设置如下。
个Button控件:设置name属性为“buttonReplay”,Text属性为“重新开始”,设置其Click事件为“buttonReplay_Click”。
第二个Button控件:设置name属性为“buttonSave”,Text属性为“保存”,设置其Click事件为“buttonSave_Click”。
第三个Button控件:设置name属性为“buttonLoad”,Text属性为“载入”,设置其Click事件为“buttonLoad_Click”。
设置TrackBar控件控件:设置name属性为“trackBarReviewSpeed”,Mamum属性为“15”,Minimum属性为“1”,设置其Scroll事件为“trackBar1_Scroll”。
第四个Button控件:设置name属性为“buttonReview”,Text属性为“Re&view”,设置其Click事件为“buttonReview_Click”。

图1-15  新建Windows窗体应用程序
  设置完毕后的窗体界面效果如图1-16所示。

图1-16  窗体界面的效果
  (3)为了方便用户灵活地使用软件,从工具箱中拖入MenuStrip控件到窗体顶部,并分别设置“文件”、“设置选项”和“游戏帮助”这3个菜单,如图1-17所示。

图1-17  设置主菜单
  (4)设置主菜单中的各个菜单命令,首先设置“文件”菜单,在其设置6个菜单项。从上到下各个菜单项的具体信息如下。
个菜单项:设置name属性为“replayToolStripMenuItem”,Text属性为“重新&开始”,设置其Click事件为“replayToolStripMenuItem_Click”。
第二个菜单项:设置name属性为“replayExtendedToolStripMenuItem”,Text属性为“Replay(Extended)”,设置其Click事件为“replayExtendedToolStripMenuItem_ Click”。
第三个菜单项:设置name属性为“saveToolStripMenuItem”,Text属性为“&Save”,设置其Click事件为“saveToolStripMenuItem_Click”。
第四个菜单项:设置name属性为“loadToolStripMenuItem”,Text属性为“&Load”,设置其Click事件为“loadToolStripMenuItem_Click”。
第五个菜单项:设置name属性为“reviewToolStripMenuItem”,Text属性为“Re&view”,设置其Click事件为“reviewToolStripMenuItem_Click”。
第六个菜单项:设置name属性为“eToolStripMenuItem”,Text属性为“E&t”,设置其Click事件为“eToolStripMenuItem_Click”。
  (5)设置“设置选项”菜单,在其设置1个名为“styleToolStripMenuItem”的菜单项,然后在此菜单项下再设置3个子菜单,从上到下各子菜单项的具体信息如下。
个子菜单项:设置name属性为“style1ToolStripMenuItem”,Text属性为“style1”,设置其Click事件为“style1ToolStripMenuItem_Click”。
第二个子菜单项:设置name属性为“style2ToolStripMenuItem”,Text属性为“style2”,设置其Click事件为“style2ToolStripMenuItem_Click”。
第三个子菜单项:设置name属性为“style3ToolStripMenuItem”,Text属性为“style3”,设置其Click事件为“style3ToolStripMenuItem_Click”。
  (6)从工具箱插入组件OpenFileDialog和SaveFileDialog,分别设置name属性为“openFileDialog1”和“saveFileDialog1”。
  (7)从工具箱中拖入ProgressBar控件到窗体底部,并且设置该控件的name属性为“progressBarReview”。
  (8)从工具箱中分别拖入3个ImageList控件,用于设置游戏窗体界面的外观显示样式。各控件的具体设置信息如下:
个ImageList控件,设置name属性为“imageList1”。
第二个ImageList控件,设置name属性为“imageList2”。
第三个ImageList控件,设置name属性为“imageList3”。
1.5.2  窗体元素设置文件
  经过1.5.1小节中的设置操作后,项目的窗体界面基本设计完毕。在窗体元素设置文件Form1.Designer.cs内,定义了各窗体控件的具体属性设置。在的内容中将分别介绍。
1.控制按钮
  在窗体右侧的各控制按钮控件的功能是控制游戏的进程,例如游戏开始、载入和保存。对应属性的设置代码如下:
  
// buttonReplay
this.buttonReplay.Location = new System.Drawing.Point(180, 197);
this.buttonReplay.Name = 'buttonReplay';
this.buttonReplay.Size = new System.Drawing.Size(75, 23);
this.buttonReplay.TabIndex = 0;
this.buttonReplay.Text = '重新开始';
this.buttonReplay.UseVisualStyleBackColor = true;
this.buttonReplay.Click += new System.EventHandler(this.buttonReplay_Click);
// buttonReview
this.buttonReview.Location = new System.Drawing.Point(180, 338);
this.buttonReview.Name = 'buttonReview';
this.buttonReview.Size = new System.Drawing.Size(75, 23);
this.buttonReview.TabIndex = 1;
this.buttonReview.Text = 'Re&view';
this.buttonReview.UseVisualStyleBackColor = true;
this.buttonReview.Click += new System.EventHandler(this.buttonReview_Click);
// trackBarReviewSpeed
this.trackBarReviewSpeed.Location = new System.Drawing.Point(180, 292);
this.trackBarReviewSpeed.Mamum = 15;
this.trackBarReviewSpeed.Minimum = 1;
this.trackBarReviewSpeed.Name = 'trackBarReviewSpeed';
this.trackBarReviewSpeed.Size = new System.Drawing.Size(75, 42);
this.trackBarReviewSpeed.TabIndex = 2;
this.trackBarReviewSpeed.Value = 1;
this.trackBarReviewSpeed.Scroll += new System.EventHandler(this.trackBar1_Scroll);
// buttonSave
this.buttonSave.Location = new System.Drawing.Point(180, 238);
this.buttonSave.Name = 'buttonSave';
this.buttonSave.Size = new System.Drawing.Size(75, 23);
this.buttonSave.TabIndex = 3;
this.buttonSave.Text = '保存';
this.buttonSave.UseVisualStyleBackColor = true;
this.buttonSave.Click += new System.EventHandler(this.buttonSave_Click);
// buttonLoad
this.buttonLoad.Location = new System.Drawing.Point(180, 267);
this.buttonLoad.Name = 'buttonLoad';
this.buttonLoad.Size = new System.Drawing.Size(75, 23);
this.buttonLoad.TabIndex = 4;
this.buttonLoad.Text = '载入';
this.buttonLoad.UseVisualStyleBackColor = true;
this.buttonLoad.Click += new System.EventHandler(this.buttonLoad_Click);
// progressBarReview
this.progressBarReview.Location = new System.Drawing.Point(3, 381);
this.progressBarReview.Name = 'progressBarReview';
this.progressBarReview.Size = new System.Drawing.Size(252, 17);
this.progressBarReview.TabIndex = 5;
  
2.窗体菜单
  在窗体顶部的各菜单选项都包括对应的子选项,甚至还包孙选项,其功能是对游戏进行控制和设置,并显示游戏的使用帮助信息。对应于窗体菜单各选项的属性设置代码如下所示:
  
// fileToolStripMenuItem
this.fileToolStripMenuItem.DropDownItems.AddRange(
  new System.Windows.Forms.ToolStripItem {
     this.styleToolStripMenuItem});
this.optionToolStripMenuItem.Name = 'optionToolStripMenuItem';
this.optionToolStripMenuItem.Size = new System.Drawing.Size(65, 32);
this.optionToolStripMenuItem.Text = '&设置选项';
// styleToolStripMenuItem
this.styleToolStripMenuItem.DropDownItems.AddRange(
  new System.Windows.Forms.ToolStripItem {
     this.keyboardToolStripMenuItem,
     this.aboutToolStripMenuItem});
this.helpToolStripMenuItem.Name = 'helpToolStripMenuItem';
this.helpToolStripMenuItem.Size = new System.Drawing.Size(65, 32);
this.helpToolStripMenuItem.Text = '&游戏帮助';
// keyboardToolStripMenuItem
this.keyboardToolStripMenuItem.Name = 'keyboardToolStripMenuItem';
this.keyboardToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.keyboardToolStripMenuItem.Text = '&操作键';
this.keyboardToolStripMenuItem.Click += 
  new System.EventHandler(this.keyBoardToolStripMenuItem_Click);
// aboutToolStripMenuItem
this.aboutToolStripMenuItem.Name = 'aboutToolStripMenuItem';
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.aboutToolStripMenuItem.Text = '&关于';
this.aboutToolStripMenuItem.Click += 
  new System.EventHandler(this.aboutToolStripMenuItem_Click);
// menuStripMain
this.menuStripMain.Items.AddRange(
 new System.Windows.Forms.ToolStripItem;
       style2ToolStripMenuItem.Image = imageList2.Images;
       style3ToolStripMenuItem.Image = imageList3.Images;
       youControl.ProgressBar = progressBarReview;
       openFileDialog1.FileName = 
         Path.GetDirectoryName(Application.ExecutablePath) + @'\sample.trf';
       saveFileDialog1.FileName = 
         Path.GetDirectoryName(Application.ExecutablePath) + @'\sample.trf';
         }
  
2. 编写事件处理代码
  通过单击窗体Form1内的各个控件和组件,可以执行对应的事件处理程序,实现游戏的运行和对游戏的控制。在本章1.5节的窗体设计过程中,已经了解