




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualC#2008程序设计与应用教程第7章第7章Windows应用程序设计主讲:郑殿君VisualC#2008程序设计与应用教程第7章本章要点Windows窗体以及事件的概念。Windows窗体中的常用控件。Windows窗体中常用对话框。VisualC#2008程序设计与应用教程第7章技能目标掌握Windows常见控件使用。掌握Windows常见对话框的使用。熟练掌握Windows应用程序设计,能编写Windows窗体界面程序。VisualC#2008程序设计与应用教程第7章7.1工作场景导入完成一个简单的员工资料管理功能,界面如图7.1所示,具备添加、删除、修改员工资料功能。在文本框中输入员工资料,单击“添加”按钮该员工的资料显示在列表框中;选中列表框中的某一项,该项所表示的员工的资料,显示在列表框下面的文本框中,单击“删除”按钮,列表中的该项被删除,即表示选中的该员工被删除。选中列表框中某一项,修改该员工的资料,单击“修改”按钮后,该员工的资料被修改。单击“清除”按钮,文本框中的文本被清除。VisualC#2008程序设计与应用教程第7章工作场景示例图VisualC#2008程序设计与应用教程第7章【引导问题】什么是窗体,什么是事件?窗体有哪些属性、方法和事件?VisualC#2008中提供哪些常用控件,各种控件的属性、方法和事件有哪些?如何自定义控件?VisualC#2008程序设计与应用教程第7章7.2Windows窗体7.2.1窗体的基本概念 窗体作为Windows应用程序的基本单元,用户可以通过添加控件来创建用户所需的界面,并通过编写代码来操作数据。使用VisualStudio2008可以大大简化WindowsForms应用程序的编写,VisualStudio2008减少了开发人员花在界面框架上的编程时间,使开发人员可以集中精力去解决业务问题。VisualC#2008程序设计与应用教程第7章7.2.2窗体事件 事件就是在发生某个操作时操作系统会根据需要作出相应的处理,比如鼠标按下、鼠标释放、鼠标移动、键盘按下、键盘释放等都是事件。这些处理代码要求程序员在相应的事件处理程序中编写。VisualC#2008程序设计与应用教程第7章以Load事件为例,Form窗体加载时候,Load时间做初始化页面显示的工作。步骤如下:1)新建一个Windows窗体应用程序,并命名为ExampleTest。2)从工具箱中拖放一个Label控件至Form1窗体上,并将Label控件的“Name”
属性设置为“lblMessage”,“Text”属性改为“Welcom”,“Font”的“Bold”属性改为True。3)在窗体上任意位置单击,选中要设置属性的窗体,选择“视图”→“属性窗口”命令。单击图标,双击Load进入该事件的代码编辑文件Form1.cs。VisualC#2008程序设计与应用教程第7章7.3Windows窗体中的常用控件.NET中的大多数控件都派生于System.Windows.Forms.Control类。Control类是包含自定义控件、用户控件和页在内的所有ASP.NET服务器控件的基类。Control类的核心功能是创建用户所见的界面。Control类派生于System.ComponentModel.Component类。Component类为Control类提供了所必要的基础结构,将控件拖放到设计界面,以及包含在另一个对象中时需要用到它。Control类定义多有ASP.NET服务器控件共享的属性、方法和时间,如控件的大小位置、外观和响应事件等。VisualC#2008程序设计与应用教程第7章7.3.1Control类大小和位置 控件的位置和大小由Width、Bottom、Height、Left、Right、Top以及辅助属性Size和Location设置。Width、Bottom、Height、Left、Right属性值都是一个整数,Size的值使用一个Size结构来表示,Location的值使用一个Point结构来表示。Size和Point位于System.Drawing命名空间。Dock属性确定子控件停放在父控件的哪条边上,Dock采用DockStyle枚举值,其值包括Left、Right、Top、Bottom、Fill和None。Fill会使控件的大小正好匹配父控件的客户区域。Anchor属性是将子控件的一条边与父控件的一条边对齐,它是将与该父控件的边界的当前举例设置为常量。例如,若将子控件的左边界与父控件的左边界对齐,并重新设置父控件的大小,子控件的左边界到父控件的距离保持不变。通过设置该属性值,可以在重新设置父控件的大小时,动态设置子控件的大小。Bounds属性返回一个Rectangle对象,表示一个控件区域。这个区域包含滚动条的标题栏。Rectangle位于System.Drawing命名空间,ClientSize属性是一个Size结构,表示控件的客户区域,不包含滚动条和标题栏。VisualC#2008程序设计与应用教程第7章外观 使用BackColor、ForeColor、BackgroundImage、Font和Text属性可以设置控件的外观。其中BackColor和ForeColor属性使用System.Drawing.Color对象作为值,BackgroundImage属性表示获取或设置在控件中显示的背景图像。Name属性提供给给程序员,常在编程中使用,作为每个控件的名字被程序员控制与操作。Font和Text属性处理文字的显示,要修改Font属性,需要创建一个Font对象,创建该对象时,要指定字体名称、字号和样式。在程序中可以直接访问Text属性,用来获取和设置Text的值,这样就可以实现在程序运行过程中修改标题的名称,获取用户输入的数据等功能。VisualC#2008程序设计与应用教程第7章用户交互操作 当用户进行某一个操作时,会引发某个事件的发生,此时就需要调用我们写好的事件处理程序代码,实现对程序的操作。在VisualC#中,所有的机制都被封装在控件之中了,大大方便了编写事件驱动程序。用户交互操作其实是指为控件创建和响应各种事件。常用的事件主要有鼠标事件和键盘事件。鼠标事件:Click、DoubleClick、MouseDown、MouseEnter、MouseHover、MouseLeave、MouseUp。处理Click和DoubleClick,每次捕获一个DoubleClick事件时,也会引发Click事件。如果处理不正确则会引起错误。MouseDown和MouseUp是鼠标按下和松开引发的事件,这两种事件将MouseEventArgs作为参数。键盘事件:键盘事件需要一些信息来确定处理什么事件。对于简单情况,KeyPress事件接受KeyPressEventArgs,它包含表示被按键的字符值KeyChar。Handle属性用于确定事件是否已处理,将Handle属性设置为true表示事件不会由操作系统进行默认处理。键盘事件引发顺序为:KeyDown、KeyPress、KeyUp。Enter、GotFocus、LostFocus、Validated和Validating事件处理获得焦点和失去焦点的控件。Validated和Validating事件分别表示在控件完成验证时发生和在控件正在验证时发生。VisualC#2008程序设计与应用教程第7章7.3.2按钮控件(Button、RadioButton和CheckBox控件)几乎所有的Windows对话框中都存在按钮控件,Button表示简单的命令按钮,该控件的使用通常是在窗体上添加控件,再双击它,给Click事件添加代码。
RadioButton是一个单选按钮,通常成组出现,用于为用户提供两个或多个互相排斥的选项,从一组单选按钮中必须且只能选择一个。该控件和Button控件一样都派生于ButtonBase类。该按钮有很多属性,该按钮常用的属性及说明如表7.3所示。VisualC#2008程序设计与应用教程第7章要把单选按钮组合在一起,使它们组成一个逻辑单元,必须使用GroupBox控件。首先在窗体上拖放一个GroupBox控件(组框),再把需要的RadioButton按钮放在分组框的边界内,RadioButton按钮知道如何改变自己的状态,以反映分组框中唯一被选中的选项。VisualC#2008程序设计与应用教程第7章7.3.3文本框控件(TextBox)文本框(TextBox)经常用于获取用户输入或显示文本,通常用于可编辑文本,也可以设定其成为只读控件。文本框能够显示多行数据,并添加基本的格式设置。Text属性是文本框最重要的属性,要显示的文本就包含在Text属性中。Text属性可以在设计窗口时使用属性窗口设置,也可以在运行时用代码设置或者通过用户输入设置,同样也可以在运行时通过读取Text属性来获得文本框的当前内容。VisualC#2008程序设计与应用教程第7章7.3.4列表视图控件(ListView)ListView是Windows列表视图控件,用于显示来自应用程序、数据库或文本文件的信息或者获取来自用户的信息。在标准列表视图对话框中可以进行各种查看操作,如图标、详细视图等。列表视图通常用于显示数据,用户可以对这些数据和显示方式进行某些控件,可以把包含在控件中的数据显示为列和行,或者显示为一列,或者先是为图标形式。ListView控件的主要属性就是Items,该属性是一个包含控件所显示的项的集合,可用于在列表视图中的添加和移除项。SelectedItems属性则包含控件中当前选定项的集合。如果将MultiSelect属性设置为“True”,用户就可以同时选择多项。ListViewItem类用于表示列表视图中的项,这些项可以包含子项,子项包含与父项相关的信息。在应用程序中,我们经常使用方法和事件为列表视图提供附加功能。BeginUpdate和EndUpdate方法用于为列表视图添加许多项,而且在每次添加项时并不显示控件的重新绘制,这样就提高了性能。VisualC#2008程序设计与应用教程第7章7.3.5ComboBox、ListBox和CheckedListBox控件ComboBox、ListBox和CheckedListBox控件都派生于ListControl类,这个类提供了一些基本的列表管理功能。使用列表控件可以给列表添加数据和选择数据,使用哪个列表取决于列表的用法和列表中的数据的类型。如果需要选择多个选项,或用户需要在任意时刻查看列表中的几个项,那么使用ListBox和CheckedListBox控件。如果只选择一个选项,就可以使用ComboBox控件。通常,ComboBoxListBox节省空间,因为组合框中可见的部分只有文本框和按钮部分。使用列表框之前,必须先添加数据。应该给ListBox.ObjectCollection添加对象。这个集合可以使用Item属性访问,可以将任何有效的.NET类型添加到列表中。要标识对象,需要设置DisplayMember属性和ValueMember属性。前者告诉列表框控件,在列表框中显示的对象的哪个属性,后者是要返回值的对象的属性。CheckedListBox(复选列表框)控件可以说是ListBox控件的派生控件,因此继承了ListBox控件的很多方法和属性。与列表框相似,复选列表框作为对话框的一部分出现,建议添加一个按钮,并把该按钮同列表框并用。VisualC#2008程序设计与应用教程第7章7.3.6MenuStrip控件使用MenuStrip控件控件,可以轻松创建类似于MicrosoftOffice软件中那样的菜单。MenuStrip控件支持多文档界面(MDI)和菜单合并、工具提示和溢出。可以通过添加访问键、快捷键、选中标记、图像和分隔条,来增强菜单的可用性和可读性。MenuStrip控件的使用特点如下。可创建支持高级用户界面和布局功能的易自定义的常用菜单,例如文本和图像排序和对齐、拖放操作、MDI、溢出和访问菜单命令的其他模式。支持操作系统的典型外观和行为。可以对所有容器和包含的项进行事件的一致性处理,处理方式与其他控件的事件相同。VisualC#2008程序设计与应用教程第7章7.4用户自定义控件VisualStudio2008附带了大量的控件,但仍不能满足各个应用程序的特殊需要。比如说,VisualStudio2008自带的控件不能以我们希望的方式绘制自己,或者控件只能以某种方式使用,而我们却希望把控件的功能和界面一起封装,或者需要的控件不存在。此时,就需要自己开发一个新的控件。使用VisualC#2008开发定制控件以设计由预先存在的控件组成的用户控件,还可以继承已有的用户控件、已经存在的Wind很方便,.NETFramework为开发者提供了丰富的控件创作技术。不仅可ows窗体控件,甚至还可以设计执行自身绘图的自定义控件。这里提到的控件都是GUI控件,即可视控件。还有一类控件没有界面但是可以实现一些事务逻辑。根据实际需要可以用以下3种方法来开发定制控件:1.从Windows窗体控件继承2.从UserControl类继承3.从Control类继承VisualC#2008程序设计与应用教程第7章控件是针对特定目的创建的,创建控件实际上也是一种编程任务,控件创建过程一般包括下列几个步骤。1) 确定控件要实现的目标。2) 确定所需要的控件类型。3) 将功能表示为控件及其子对象的属性、方法和事件,并指派相应的访问级别。4) 若控件需要自定义绘制,则为其添加对应的代码。5) 创建一个新的项目,对控件进行测试和调试。6) 在添加每个功能时,将控件添加到测试项目以试验新功能。7) 重复操作,改进设计。8) 打包和发布控件。VisualC#2008程序设计与应用教程第7章7.5对话框在应用程序中,对话框控件也是一种常用的控件,比如确认对话框、打开文件或保存文件对话框、字体对话框、颜色对话框等,本小节将一一讲解这些对话框的使用。VisualC#2008程序设计与应用教程第7章7.5.1消息对话框消息对话框常在某项操作执行结束时,给用户的提示或者当执行某项有风险的操作时,要提示用户是否执行。.NET为用户提供了MessageBox类来实现这些功能,以显示文本、按钮和符号(通知或者提示用户)的符号。MessageBox类通过Show()方法显示对话框,该方法常用的5种重载方式如下:Show(String)显示具有指定文本的消息框,例如:Show(String,String)显示具有指定文本和标题的消息框。Show(String,String,MessageBoxButtons)显示具有指定文本、标题、按钮的消息框。Show(String,String,MessageBoxButtons,MessageBoxIcon)显示具有指定文本、标题、按钮、图标的消息框。Show(String,String,MessageBoxButtons,MessageBoxIcon,MessageBoxDefaultButton)显示具有指定文本、标题、按钮、和默认按钮的消息框。VisualC#2008程序设计与应用教程第7章7.5.2打开文件对话框打开对话框用于打开一个已经存在的文件,.NET为用户提供了OpenFileDialog类以提示用户打开文件。VisualC#2008程序设计与应用教程第7章7.5.3保存文件对话框除了打开文件对话框控件,还有保存文件对话框,.NET为用户提供了SaveFileDialog类以提示用户保存文件。该类的主要属性和OpenFileDialog类的属性相似。VisualC#2008程序设计与应用教程第7章7.5.4字体和颜色对话框.NET为用户提供了FontDialog类提示用户从本地计算机上安装的字体中选择一种字体,并提供了ColorDialog类表示一个通用对话框,该对话框显示可用的颜色及允许用户自定义颜色的控件。VisualC#2008程序设计与应用教程第7章7.6回到工作场景以上我们讲解了关于窗体和各控件的使用,下面我们回到工作场景,如何利用前面讲解的知识来完成工作场景中需要的功能。VisualC#2008程序设计与应用教程第7章项目分析与算法流程设计1)用户在文本框中输入员工的各项资料,获取文本控件中的文本,并将这些项添加到列表控件ListView中。2)获取用户当前选中的ListView中的项,调用ListView的方法,将该项删除。3)获取用户当前选中的ListView中的某项,并获取每一列的数据,将数据分别显示在文本框中。4)将文本框中的数据清除。VisualC#2008程序设计与应用教程第7章界面设计1)按照1.5小节中的新建WinForm程序的步骤,新建一个项
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应急医疗保障课件
- 义务教育办学标准
- 企业财务兼职人员合作协议
- 餐饮业餐饮服务流程优化与改进顾问合同
- 城市公共交通停车场经营权转让协议
- 汽车租赁场销售代理合作协议范本
- 餐饮店面租赁及特色餐饮项目合作协议
- 场监督管理局举报投诉处理与责任认定与落实合同
- 车位租赁合同含停车管理协议
- 拆墙工程环保验收协议
- 高空作业安全试题及答案
- 江苏省南京市2022年高二《生物》下学期期末试题与参考答案
- 吉林省2024年中考地理试卷2套附解析答案
- 山东省济南市历城区2025年九年级中考语文一模考试试题(含答案)
- 火灾防治、隐患辨识与应急避险
- 2025年河北省沧州市初中学业水平摸底考试地理试卷(含答案)
- 危重患者血糖管理指南
- 护理核心制度
- 交通管理与控制知到智慧树章节测试课后答案2024年秋同济大学
- 磷酸铁锂正极材料及锂离子电池电池项目可行性研究报告
- 川剧变脸模板
评论
0/150
提交评论