




已阅读5页,还剩88页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习情境2门票销售计算器,Windows应用软件开发,软件技术系于筱荔YXL161163.COM,2020/5/27,2,主要内容,2020/5/27,3,Windows应用程序的界面主要是由控件构成,因此,熟悉控件的使用是Windows应用程序的一个很重要的环节。在使用控件时,最重要的是知道它们的一些主要属性、方法与事件。下面我们就给出基本控件的一些重要的属性、方法和所能响应的事件,并以实例的形式来讲述它们的使用方法与技巧。,一、控件概述,2020/5/27,4,一、控件概述,(一)控件的基本属性1Name属性2Text属性3尺寸大小和位置属性4字体属性5颜色属性6可见和有效属性,2020/5/27,5,(二)控件共有的基本属性、事件和方法在C#中,所有的窗体控件全部都是继承于同一个祖先:System.Forms.Control.Control类是继承自System.Object的。作为各种窗体控件的基类,Control类实现了所有窗体交互控件的基本功能:处理用户键盘输入、处理消息驱动、限制控件大小等。Control类的属性、方法与事件是所有窗体控件所共有的,而且其中很多是我们在编程中经常会遇到的。,一、控件概述,2020/5/27,6,下面来具体介绍Control类的各项成员。(1)Control类的属性Control类的属性描述了一个窗体控件的所有公共属性,可以在属性(Properties)窗口中观察或窗体控件的属性。下面是编程中常用到的属性:lText(文本)属性lAnchor(锚定)属性lDock(停靠)属性lCapture(捕获)属性,一、控件概述,2020/5/27,7,(2)Control类的方法常用的有:lFocus方法可以设置此控件获得的焦点lRefresh方法可重画控件lSelect方法可激活控件lShow方法可显示控件,一、控件概述,2020/5/27,8,(3)Control类的事件常用的有:l单击时发生Click事件l光标改变时发生Cursorchanged事件l销毁时发生Disposed事件l双击时发生DoubleClick事件l拖动时发生DragDrop事件l取得焦点时发生GetFoocus事件l鼠标移动时发生MouseMove事件,一、控件概述,2020/5/27,9,二、Lable(标签)控件,(一)标签控件的用途标签主要用来显示文本。通常用标签来为其他控件显示其他控件显示说明信息、窗体的提示信息,或者用来显示处理结束等信息。但是,标签显示的文本不能被直接编辑。标签参与窗体的Tab键顺序,但不接收焦点。除了显示文本外,还可使用Image属性显示图像,或使用ImageIndex和ImageList属性组合显示图像。通过将标签的BackColor属性设置为Color.Transparent,可使该标签成为透明的。,2020/5/27,10,(二)标签控件的常用属性,None:无边框(默认)FixedSingle:边框为单直线型Fixed3D:边框为凹陷型,2020/5/27,11,(三)标签相应的事件,标签控件常用的事件有:Click(单击鼠标)事件和DoubleClick(双击鼠标)事件。例题:在窗体上建立4个标签控件,其中Lable1的Text属性为“课程名:”,Lable2的Text属性为“班级:”,Lable3的Text属性为“”,Lable4的Text属性为“”。编写程序,当单击“课程名:”时,右边的标签框内显示“Windows应用软件开发课程”,当单击“班级:”时,右边的标签框内显示“09级软件技术班”。,2020/5/27,12,建立事件的处理程序如下:,二、Lable(标签)控件,2020/5/27,13,运行窗体界面如下:,二、Lable(标签)控件,2020/5/27,14,三、LinkLable(超链接标签)控件,(一)LinkLable控件的用途LinkLable控件同Lable控件十分相似,不同之处在于LinkLable控件具有超链接功能。可以使用LinkLable控件超链接到一个网站或网页上,也可以使用它链接到其他的应用程序。一切可以使用Label控件的地方,都可以使用LinkLabel控件。LinkLabel控件中的大部分属性、方法、事件都是从Label控件中继承来的。但它有几个特殊的用于超链接的属性和事件。,2020/5/27,15,三、LinkLable(超链接标签)控件,(二)LinkLable控件的常用属性(1)ActiveLinkColor属性用于设置单击该控件时,标签文本中链接部分的颜色。(2)LinkArea属性用于设置单击该控件的标签文本中超链接部分的区域大小。该属性设置2个值,第一个值为该区域起始字符的位置,第二个值为区域的长度。,2020/5/27,16,(3)DisableLinkColor属性用于设置该控件不用时,标签文本中链接文本部分的颜色。(4)LinkColor属性用于设置未链接此超级链接的文本颜色。(5)VisitedLinkColor属性用于设置已链接过此超级链接的文本颜色。(6)LinkBehavior属性定义与超级链接关联的下划线的显示方法。,三、LinkLable(超链接标签)控件,2020/5/27,17,(三)LinkLable控件的常用事件,LinkLable控件常用事件有两个,一个是鼠标单击事件LinkClicked;另一个是鼠标移动事件MouseMove。(1)LinkClicked事件当鼠标移动到标签文本中的超级链接的文本部分时,会出现一个手的小图标,这时单击此超级链接部分,将会发生此事件。通常在此事件过程中,使用System.Diagnostics.Process.Start方法打开指定的网页。(2)MouseMove事件当在LinkLable控件上移动鼠标时,将发生此事件。并且伴随鼠标移动,将连续不断地发生此事件。,2020/5/27,18,例题:在窗体上放置2个LinkLabel控件,编写窗体的Load事件处理程序如下:,三、LinkLable(超链接标签)控件,2020/5/27,19,编写LinkLabel1控件的LinkClicked事件处理程序代码如下:,三、LinkLable(超链接标签)控件,2020/5/27,20,编写LinkLabel2控件的LinkClicked事件处理程序代码如下:,三、LinkLable(超链接标签)控件,2020/5/27,21,运行窗体,单击链接即可打开相应网站:,三、LinkLable(超链接标签)控件,2020/5/27,22,四、Button(按钮)控件,(一)Button控件的用途在应用程序中,Button(按钮)控件常常被用来启动、中断或结束一个进程,用户可以通过简单地单击按钮来执行操作。只要用户单击按钮,就会触发它的Click事件,通过编写按钮的Click事件过程,就可以指定它的功能了。,2020/5/27,23,(二)Button控件的常用属性,详见下页,2020/5/27,24,FlatStyle枚举值及说明,(默认值),2020/5/27,25,1.Click事件:单击鼠标左键时触发例如:privatevoidbutton1_Click(objectsender,System.EventArgse)MessageBox.Show(this,“你点击了确定按钮。”,“提示信息”,MessageBoxButtons.OK,MessageBoxIcon.Information);其中各参数的含义:(1)objectsender:代表发出事件的对象,此处指button1。使用时可以直接用button1,也可以像下面形式:Buttonbutton=(Button)sender;(2)System.EventArgse:封装了事件的信息,四、Button(按钮)控件,2020/5/27,26,四、Button(按钮)控件,2.MouseEnter事件:鼠标进入按钮区域时触发例如:privatevoidbutton1_MouseEnter(objectsender,System.EventArgse)/颜色在System.Drawing名称空间下this.button1.BackColor=Color.Red;,2020/5/27,27,四、Button(按钮)控件,4.MouseLeave事件:鼠标离开按钮区域时触发例如:privatevoidbutton1_MouseLeave(objectsender,System.EventArgse)this.button1.BackColor=SystemColors.Control;,2020/5/27,28,按钮会根据用户的操作情况呈现两种不同的状态,一种是“有效”,一种是“无效”。在窗体中放置一个标签控件和两个按钮控件。如下图所示:,四、Button(按钮)控件,2020/5/27,29,按钮控件添加到窗体后,在默认情况下,它们的Enable属性为True。,四、Button(按钮)控件,2020/5/27,30,四、Button(按钮)控件,2020/5/27,31,(三)使用键盘操作按钮,按钮控件的Click事件不仅可以由鼠标单击触发,还可以由以下几种方法触发:1按Tab键把焦点移到相应按钮上,按下Enter键或空格键。2如果某按钮是窗体的默认命令按钮,即使将焦点移到其他控件上(非按钮控件),按下Enter键也会触发该按钮的Click事件。可以通过窗体的AcceptButton属性设置默认命令按钮。,四、Button(按钮)控件,2020/5/27,32,3如果某按钮是窗体的默认取消按钮,即使将焦点移到其他控件上(非按钮控件),按下Enter键也会触发该按钮的Click事件。可以通过窗体的CanceButton属性设置默认命令按钮。4按按钮的访问键(Alt带下划线的字母)。可通过Text属性创建按钮的访问键,为此,只需在作为访问键的字母前添加一个连字符要删除当前所选的文本,只需赋予SelectedText属性空字符串即可,语句如下:textBox1.SelectedText=“”;将所选文本转换成大写,语句如下:textBox1.SelectedText=textBox1.SelectedText.ToUpper();,2020/5/27,44,大多数Windows应用程序都有“复制”和“粘贴”命令,使用这些命令,就可以通过剪贴板交换信息了。下面是一个使用剪贴板交换数据的例子,如下图所示,用户在左边的文本框中选择一段文本,单击“复制”按钮,则选定的文本就被复制到剪贴板上,再单击“粘贴”按钮,则将剪贴板上的文本粘贴到右边的文本框中。如下图所示:,2020/5/27,45,“复制”按钮的Click事件处理程序如下:,五、TextBox(文本框)控件,2020/5/27,46,“粘贴”按钮的Click事件处理程序如下:,2020/5/27,47,下面示例说明TextChanged事件和KeyPress事件的使用。在窗体中放置一个Label控件和一个TextBox控件。用户在文本框中输入内容时,窗体上就会同步显示出用户所输入的内容。如果用户修改了文本框的内容,则窗体上的内容也会同步修改。同时,文本框将屏蔽掉对数字的输入。如下图所示:,2020/5/27,48,编写TextChanged事件(当文本框的文本内容发生改变时,触发该事件。)处理程序如下:,五、TextBox(文本框)控件,2020/5/27,49,编写KeyPress事件(限制某些文本不被输入到TextBox控件)处理程序如下:,五、TextBox(文本框)控件,2020/5/27,50,六、RadioButton(单选按钮)控件,(一)RadioButton控件的用途RadioButton控件用来接收用户作出的选择,它通常以单选项组的形式出现,用户每次只能在一组单选项中选中其中的一个。,2020/5/27,51,六、RadioButton(单选按钮)控件,(二)RadioButton控件的常用属性,2020/5/27,52,在程序中使用RadioButton控件通常有两种方式:一是:在单选项组中作出选择后,程序立即响应该选择并进行响应的操作。二是:在单选项组中作出选择后,程序不立即响应,而是通过按钮控件提交所作出的选择。下面示例说明RadioButton控件的使用。在窗体上放置两个Label和两个RadioButton控件。,六、RadioButton(单选按钮)控件,2020/5/27,53,分别编写两个RadioButton控件的CheckedChanged事件处理程序。,六、RadioButton(单选按钮)控件,2020/5/27,54,程序运行结果:,六、RadioButton(单选按钮)控件,2020/5/27,55,对上例程序略加修改,看看使用RadioButton控件的另一种方式。删除两个RadioButton控件的CheckedChanged事件处理程序,在窗体上添加一个Button(“提交”按钮)控件。编写“提交”按钮的Click事件处理程序。,六、RadioButton(单选按钮)控件,2020/5/27,56,六、RadioButton(单选按钮)控件,2020/5/27,57,程序运行结果:,六、RadioButton(单选按钮)控件,2020/5/27,58,七、GroupBox(框架)和Panel(面板)控件,(一)GroupBox(框架)控件和Panel控件的用途GroupBox(框架)控件和Panel(面板)控件是两个比较特殊的控件,特殊之处在于它是用来放置其他控件的,通常被称为容器控件。GroupBox控件与Panel控件类似,只是GroupBox控件可以显示标题,而只有Panel控件可以有滚动条。GroupBox控件和Panel控件的主要用途是在界面设计中分组控件,对控件分组的原因有三个:(1)为获得清楚的用户界面而将相关窗体元素进行可视分组,以便提供可视化线索。(2)编程分组,例如对单选按钮进行分组。(3)是为了在设计时将多个控件作为一个单元来移动。,2020/5/27,59,七、GroupBox(框架)和Panel(面板)控件,(二)、GroupBox和Panel控件的使用方法使用GroupBox和Panel控件将控件分组的方法如下:(1)在“工具箱”中选择GroupBox和Panel控件,将其添加到窗体上。(2)在“工具箱”中选择其他控件放在GroupBox和Panel控件内。(3)重复步骤(2),添加所需的其他控件。如果欲将已在窗体上存在的控件,加入到一个GroupBox控件或Panel控件内,可以先选择这些控件,然后剪贴到GroupBox控件或Panel控件中去。,2020/5/27,60,七、GroupBox(框架)和Panel(面板)控件,(三)Panel(面板)控件的常用属性Panel控件的常用属性主要有以下几种:(1)BorderStyle属性:用于设置边框的样式。有3种设定值。None:无边框(默认)。Fixed3D:立体边框。FixedSingle:不显示边框。(2)AutoScroll属性:设置是否在框内加滚动条。设置为True则加滚动条;设置为False则不加滚动条。,2020/5/27,61,七、GroupBox(框架)和Panel(面板)控件,(四)GroupBox(框架)控件的常用属性GroupBox控件最常用的是Text属性,该属性可用于在GroupBox控件的边框上设置显示的标题。Panel控件与GroupBox控件功能类似,都可以用做容器来组合控件,但这两个控件有3个主要区别:(1)Panel控件可以设置BorderStyle属性,选择是否有边框。(2)Panel控件可以把AutoScroll属性设置为True,进行滚动。(3)Panel控件没有Text属性,不能设置标题。,2020/5/27,62,七、GroupBox(框架)和Panel(面板)控件,(五)分组控件示例在窗体上建立3组单选按钮,分别放置在名称为“字体”、“大小”和“颜色”的分组控件中,窗体上部有一个标签用于显示文本,下部有两个命令按钮,放置在面板控件中,分别用于确定选择和结束程序运行,如下图所示:,2020/5/27,63,七、GroupBox(框架)和Panel(面板)控件,2020/5/27,64,编写“确定”按钮的Click事件处理程序如下:,2020/5/27,65,编写“结束”按钮的Click事件处理程序:,2020/5/27,66,运行结果:,七、GroupBox(框架)和Panel(面板)控件,2020/5/27,67,八、ComboBox(组合框)控件,(一)ComboBox(组合框)控件的用途组合框将文本框和列表框的功能结合在一起,用户既可以在组合框中输入文本,也可以直接从列表中选定项。通常,组合框适用于建议性的选项列表,当用户所需要的选项不在列表中,则可以在组合框中自行输入。组合框有三种不同的形式:简单组合框、下拉式组合框和下拉式列表框。,2020/5/27,68,(二)ComboBox(组合框)控件常用属性和事件,1DropDownStyle属性当DropDownStyle属性值为DropDown时组合框称为“下拉式组合框”。它由可编辑的文本区和一个下拉列表框组成,用户可以直接向文本区输入内容,也可以单击右端的三角按钮,从下拉列表框中选择项。当DropDownStyle属性值为Simple时组合框称为“简单组合框”。它也是由文本区和一个列表框组成,但该列表框不是下拉式的,而是始终显示在屏幕上。用户可以从列表框中选择所需要的项,也可以直接向文本区输入内容。,2020/5/27,69,当DropDownStyle属性值为DropDownList时组合框称为“下拉式列表框”。它的形式与“下拉式组合框”相似,右端也有一个箭头弹出下拉列表框,但用户只能从列表框中选择,而不能直接向文本区中输入。,八、ComboBox(组合框)控件,2020/5/27,70,2Text属性Text属性是组合框很重要的属性该属性用来设置返回组合框文本区中的内容。组合框的常用事件不多,一般使用Click事件,有时也使用SelectIndexChanged事件和SelectItemChanged事件。,八、ComboBox(组合框)控件,2020/5/27,71,(三)ComboBox(组合框)控件示例,编写一个能对组合框进行添加、删除、全部清除操作,并能显示组合框中项目数的程序。在窗体上按图示创建一个组合框、三个标签和四个命令按钮,如下图所示:,2020/5/27,72,各控件的属性设置如下:,2020/5/27,73,编写窗体的Load事件处理程序:,编写“添加”按钮的Click事件处理程序:,2020/5/27,74,编写“删除”按钮的Click事件处理程序:,编写“全清”按钮的Click事件处理程序:,2020/5/27,75,编写“退出”按钮的Click事件处理程序:,八、ComboBox(组合框)控件,2020/5/27,76,如果运行时用户通过组合框添加新的选项,则可通过增加一个“确定”命令按钮来实现。如下图所示:,八、ComboBox(组合框)控件,2020/5/27,77,编写“确定”按钮的Click事件处理程序:,八、ComboBox(组合框)控件,2020/5/27,78,九、案例:门票销售计算器,(一)、背景知识介绍规则1三种购票类型:成人票、儿童票和打折票1.成人票执行正常票价(如45元人民币).2.儿童票执行成人票的半价。3.打折票执行3种成人票的折扣标准:9折、8折和6.5折。规则2允许购买团体票(即多张)或个人票(即1张),2020/5/27,79,九、案例:门票销售计算器,(二)、需求分析系统基本功能分析P39页(1)门票类型选择(2)当门票类型为打折票时,给出折扣选择,否则,折扣类型的门票选择不可用。(3)当选择某类型的门票时,自动给出相应的票价显示。(4)依据不同门票类型的折扣情况,自动计算单张票的票价并显示。(5)允许输入当前预购买的票的数量。(6)依据票的数量,自动计算应付款,并显示。(7)允许输入当前预付票款(以元为单位)。(8)自动计算应该找给客户的零钱(当实际付款小于应付款时候,以负数显示)。(9)为避免连续销售不同类型的门票时,工作界面上遗留的前次售票数据对本次售票的影响,要求切换售票类型时能同时预置合理的票价信息,并清除找零信息预应付款信息(折扣票的情况,默认情况下为九折)。,2020/5/27,80,九、案例:门票销售计算器,(三)工作目标分析1.工作目标界面效果(P39P42)基本功能介绍接收输入功能默认功能设置按键效果及其自动计算输出显示问题,2020/5/27,81,2.工作任务(过程)分析,九、案例:门票销售计算器,2020/5/27,82,(四)、工作任务实施1.任务一:算法与流程设计购票流程分析(见P52页),九、案例:门票销售计算器,2020/5/27,83,算法流程描述P51页算法:应付款=票价票数量找零=实付款-应付款输入信息:购票类型-用户选择购票数量-用户输入实付款-用户输入输出信息:票单价-依据购票类型计算得到应付款-计算得到找零-计算得到,九、案例:门票销售计算器,2020/5/27,84,约束与限制(见P51页)系统的实现过程主要集中在两个模块上:门票类型选择系统在最初启动阶段,所有的输入栏均处在不可修改状态,其修改状态上网打开是在门票类型选择之后。“购买”按钮触发的计算在接收用户输入的信息的时候,要关注用户的误操作情况的发生。,九、案例:门票销售计算器,2020/5/27,85,2.任务二:界面设计P53页新项目创建,九、案例:门票
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 和植物约会:享受独特园艺乐趣
- 青年时装搭配规范手册
- 水利工程监理工作规定
- 运用人工智能技术提升客户服务水平
- 信息安全防护与数据风险
- 2025中国人寿洛阳分公司(售后部门)招聘笔试备考题库及答案解析
- 临床检验医学实验室质量管理
- 工作规划展望总结报告
- 地产销售渠道拓展方案
- 乳癌诊断检验医学技术指南
- 2025北京京剧院招聘工作人员10人考试备考题库及答案解析
- 脊柱区课件教学课件
- 检修现场管理培训课件
- 村集体经济培训课件
- 医院清洁消毒灭菌与隔离无菌操作技术
- 信息网络安全考题「附答案」
- 2025年反诈骗知识竞赛问答试题及答案
- 矿井建设工程课件
- 消防设备设施操作讲解培训课件P
- 2025年执业医师考试-中医师承及确有专长考核历年参考题库含答案解析(5卷单选一百题)
- 中国绳结课件
评论
0/150
提交评论