C#程序设计实例教程 教学课件 ppt 作者 徐少波 刘明伟 国伟 胡广斌 第五章

上传人:E**** 文档编号:89343833 上传时间:2019-05-23 格式:PPT 页数:168 大小:2.40MB
返回 下载 相关 举报
C#程序设计实例教程 教学课件 ppt 作者  徐少波 刘明伟 国伟 胡广斌 第五章_第1页
第1页 / 共168页
C#程序设计实例教程 教学课件 ppt 作者  徐少波 刘明伟 国伟 胡广斌 第五章_第2页
第2页 / 共168页
C#程序设计实例教程 教学课件 ppt 作者  徐少波 刘明伟 国伟 胡广斌 第五章_第3页
第3页 / 共168页
C#程序设计实例教程 教学课件 ppt 作者  徐少波 刘明伟 国伟 胡广斌 第五章_第4页
第4页 / 共168页
C#程序设计实例教程 教学课件 ppt 作者  徐少波 刘明伟 国伟 胡广斌 第五章_第5页
第5页 / 共168页
点击查看更多>>
资源描述

《C#程序设计实例教程 教学课件 ppt 作者 徐少波 刘明伟 国伟 胡广斌 第五章》由会员分享,可在线阅读,更多相关《C#程序设计实例教程 教学课件 ppt 作者 徐少波 刘明伟 国伟 胡广斌 第五章(168页珍藏版)》请在金锄头文库上搜索。

1、第五章 本书学习情境:书店管理系统界面设计,5.1学习情境引入,我们学习了C#语言的基本语法,就可以开始用计算机能“理解”的语言表达我们的逻辑思想了,在不断的运用中,逐渐熟练掌握这些语法。 开发单机用的“书店管理系统”,除了要用计算机语言描述程序逻辑并写出一段程序外,还要设计程序的用户界面。书店管理系统就是由一个一个的窗体界面组成的,也就是Windows程序窗体界面。友好的窗体界面可以极大地提高人机对话能力,因此窗体界面的设计对应用程序而言是极其重要的,5.1.1 项目需求,根据书店管理系统项目需求分析,该项目包括登录窗口、主窗体、采购管理、销售管理、仓储管理等界面。,1登录窗口 要保证系统的

2、安全性,就需要在使用系统前进行安全身份验证。一般通过输入用户名和密码的形式进行验证,并在登录后记录当前用户及其角色。 2主窗体界面 作为一个书店管理系统,结合实际需求分析可知,它要完成的主要业务有采购、仓储、销售、财务。系统应具有供店员完成进书及销售等一系列工作的操作,以及对书店财务账目的操作和管理的功能模块,并且每个模块下又有许多子功能。,3采购管理 采购模块供采购人员使用,完成图书信息录入、打印入库单的工作,并可以查询以往采购的图书信息和入库单信息。 为了在多次采购同类图书时,避免重复录入烦琐的图书信息,要在采购模块中设置书目管理子模块,对采购的图书信息进行管理,包括录入、查询、修改图书信

3、息等功能。 在填写入库单时,只需调用已有的书目信息,即可避免重复录入。入库单管理子模块包括填写、打印入库单等功能。对已经打印、填写错误的出库单,只要仓库管理员未执行出库,销售人员还可以修改,但不允许删除。 4销售模块 销售模块包含销售统计和出库单管理两个子模块,供销售人员填写、打印出库单,并进行销售统计。对已经打印、填写错误的出库单,只要仓库管理员未执行出库,销售人员还可以修改,但不允许删除。销售统计是指统计某个时段的畅销书和滞销书等,需要访问出库单表获取销售信息并访问库存表获取价格信息。 5仓储管理 库存模块供仓库管理员凭入库单/出库单执行入库/出库以及库存查询功能。,5.1.2 展示,1登

4、录窗口 图51 登录窗口界面设计 书店登录窗口的主要作用是接收用户的相关信息,用于验证用户的身份并为用户创建相应的用户书店管理目录环境。所以界面中加有两个文本框和两个按钮及两个标签,如图5-1所示,2书店管理系统主界面 建立书店管理系统的主界面,界面中加有菜单栏,如图5-2所示。,3书店管理系统添加图书信息界面 添加图书信息界面中有标签、文本框、按钮、图片框等控件,主要完成图书信息的录入,如图5-3所示。,5.1.3 技术分解,项目展示的3个窗体界面从技术上讲每一个界面就是一个控件,界面内的每一个元素又是一个控件。在这里窗体界面是其他控件的一个容器,在这个容器中包含了其他控件。如图5-4所示的

5、登录窗体界面,主界面是Form控件,Form控件内有Label控件(欢迎使用书店管理系统、用户名:密码:)、TextBox控件(界面中的输入文本框)、Button控件(确定、取消按钮),如图5-4所示。,同样道理的书店管理系统的其他界面也是由控件组成的,只是所用的控件不同而已。从某种意义上讲,书店管理系统界面设计,就是如何合理地使用控件来完成所设计功能的过程。 通过本章的学习,我们可以设计由多个窗体组成的书店管理信息系统。开发平台为我们提供了很多控件,各控件有不同的属性、事件、方法,但是书店管理系统用到的控件种类有限。希望初学者注意从最常用的开始学习,逐渐举一反三,并培养自己利用MSDN来学习

6、其他更多控件使用方法的良好习惯。本章需要了解的基本知识如下。 控件的基本概念。 窗体的方法、属性及事件。 常用的几类控件的方法、属性及事件。,基本知识1:控件类,5.2.1 控件类的属性、方法和事件 控件(Controls)是完成用户交互的组件。控件可以提供处理数据、接收用户输入、对事件做出响应或执行连接用户和应用程序等其他功能。控件本质上是具有图形接口的组件,所以它能提供组件所提供的功能并与用户进行交互。,VS.NET 2008提供了丰富的窗体控件,“工具箱”中的“所有Windows窗体”里面包含了所有Windows窗体的标准控件,像标签控件(Label)、按钮控件(Button)、文本框控

7、件(TextBox)等,工具箱中的每个控件都对应一个类,这些类均派生自System.Windows.Forms.Control类。作为各种窗体控件的基类,Control类实现了所有窗体交互控件的基本功能,如处理键盘输入、处理消息驱动、限制控件大小等。 .NET已经为我们设计好工具箱中的控件类,初学者的任务是学会使用这些类的公开成员,并将各种不同的控件,组合在一个窗体中,也就是设计一个新的窗体类。 学习窗体和其他控件的使用,就是学习它们的属性、方法和事件。,1属性 如上一章所述,属性公开了类的数据成员。比如控件的名称,数据成员公开为Name属性。获取某个控件的Name也就得到了控件的名称;给某个

8、控件的Name赋值,也就更改了控件的名称。控件的属性很多,如Text属性对应控件上显示的文字、ForeColor属性对应控件上文字的显示颜色等。C#是强类型语言,对属性值的操作必须类型匹配。 例如,设置textBox1控件的Text属性。 textBox1.Text = “Hello world!“;/这是正确的。 textBox1.Text = 123;/这是错误的,因为123是Int32类型,而TextBox控件的Text属性是String类型的。,因此,要了解属性的含义及其数据类型。图55 Windows窗体的属性面板 在Visual Studio .NET 中,可以直接在属性面板上更改

9、属性的值。属性面板一般在窗口右边,可以按F4键显示,或操作菜单“视图|属性窗口”,如图5-5所示。,2方法 方法是一个执行对象的行为的成员。程序员要实现用户要求的逻辑功能,经常会调用某个类的方法,来使对象完成某种行为。 方法有一个形式参数列表(可能为空)和一个返回数值(或void),并且可以是静态也可以是非静态。静态方法要通过类来访问。非静态方法,也称为实例方法,要通过类的实例(对象)来访问。方法可以被重载,这意味着多个方法可能有相同的名称。 程序员应主要掌握常用方法的参数和返回值。,3事件 控件的事件,对应着控件从初始化到和用户交互以至最后销毁,所经历的各个发展阶段。控件的每个事件,都对应着

10、特定的时机。比如Button类控件的Click事件,在用户单击此按钮时发生;再如Form类的Load事件,在窗体初始化后、还未显示时发生。 每个事件发生时,都会自动执行关联的一个(或多个)方法,这个方法称为事件委托函数,该函数的参数是事件发生时的环境参数。当然,前提是程序员事先编好了这样的方法,并指定了此方法和某个事件关联。 选择合适的事件,编写事件委托函数,是Windows窗体程序设计的工作线索。例如,要求在窗体显示之前用程序设置窗体的标题栏为“欢迎”,我们应该选择Form的Load事件,而不是Button的Click事件。,程序员要了解事件发生的时机和事件的参数。 在Visual Stud

11、io.NET2008的可视化设计界面中,把选中对象的所有事件都列了出来,集中在属性面板的事件列表中,如图5-6所示。 在这个事件列表中,左边是这个对象支持的事件,右边是这个事件发生时要执行的方法。如果是空的,那么这个对象将不对这个事件做出反应。因此,事件和方法可以通过这里连接起来。,在.NET中,只要双击事件的名称,系统就会把这个事件默认的处理方法和这个事件关联起来,即前述的事件委托。比如,双击Click事件,属性栏就会变为如图5-7所示的形式。 在Form1.Designer.cs文件中,窗体设计器生成的代码里,则会自动出现以下语句,该语句和图5-7中的事件表格是一致的:删除此句,属性面板中

12、的“Form1_Load”就会自动消失;清除属性面板中的“Form1_Load”,下面的语句就会被自动删除。,this.Load += new System.EventHandler(this.Form1_Load); 出现上面的语句时,Load事件和Form1_Load方法就关联起来,即建立了委托关系。也就是程序运行时,在发生窗体Form1被用户Load的事件时,就会自动执行Form1_Load方法。,与此同时,系统会在Form1.cs文件中自动添加Form1_Load方法的声明,代码如下。 private void Form1_Load(object sender, EventArgs e

13、) 该方法有两个参数,第一个是object类型,代表发生事件的对象,此处为Form1对象;第二个是EventArgs类型,代表发生Load事件时的环境参数。只要在此方法中写入: this.Text=”欢迎”; 就可以实现在窗体显示之前,用程序设置窗体的标题栏为“欢迎”的功能了。,5.2.2 自测,1思考题 (1)在Visual Studio .NET 中,如何设置控件的属性? (2)在Visual Studio .NET 中,如何应用控件的事件?并举例说明。,基本知识2:Form类,C#中的Windows应用程序是以窗体(Form)为基础的。Windows窗体是组成应用程序用户界面的窗口或对话

14、框,可用来向用户显示信息并接受用户的输入。窗体可以是标准窗口、多文档界面(MDI)窗口、对话框等。 新建Windows应用程序模板的项目时,IDE(Integrated Development Environment)将自动建立一个Form1类的窗体,它派生自Form类。,窗体类可以有静态成员,但从Form 类继承的多数属性和方法都是实例方法,比如窗体的尺寸属性、显示窗体的方法等。所以,在程序运行时显示出的窗体是由该类创建的实例。在程序中,用this关键字引用当前窗体实例。 窗体是与用户交互的主要载体,是整个Windows应用程序的控件容器,其他界面元素(控件等)都可以放置在这个容器中。每向窗

15、体中拖曳一个控件,设计器就为其添加一个字段的声明和初始化,通过组合不同的控件集、设置窗体的属性以及编写相应的事件、方法代码,可以满足用户对应用程序的要求。 下面我们就对窗体的一些重要属性、方法和事件进行介绍,之后会发现窗体是一个功能非常强大的对象。,5.3.1 类的继承,C#允许一个类继承其他类的属性和方法。被继承的类称为父类(也可称其为基类),继承的类称为派生或子类。子类不仅可以继承基类的属性和方法,还可以根据需要定义新的属性和方法,增加新的功能。这样可使用户重用基类的代码,专注于子类的新代码,提高类的可重用性。继承的好处是能共享代码,继承后,父类的所有字段和方法都将存在于子类中,每一个子类

16、都具有父类的非私有特性。 在有些语言中,子类可以从不止一个父类中派生,称为多继承。但在C#中,子类仅能派生于一个父类。,1继承的定义,如果要声明一个类派生于另一个类,可以使用下面的语法: 修饰符 class 派生类名:基类名 /派生类成员 修饰符:可选择public、 internal、abstract 、sealed 、new 、private 、protected修饰符,使用时根据需要确定。,派生类名:必须是一个有效的C#标识符,一般采用Pascal大小写命名规则,单词的第一个字母大写。 基类名:被继承的类的名。 类体:用于定义派生类的成员。,继承意味着一个类隐藏了除了构造函数和析构函数外基类的所有成员。关于继承,需要注意以下几点。 继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类是所有类的基类。 派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去基类的成员的定义。 构造函数和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号