《游戏开发实战教程(Unity+C#)-(7)自考成人专科本科课件.pptx》由会员分享,可在线阅读,更多相关《游戏开发实战教程(Unity+C#)-(7)自考成人专科本科课件.pptx(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、游戏开发实战教程(Unity+C#)第7章 WinForm应用程序开发WinForm是Windows窗体(Windows Form)的简称。Visual Studio提供了很多开发WinForm和Web应用程序的控件,本章结合应用程序案例介绍常用控件的属性、方法、事件及其具体应用,通过对一些实例的介绍学习,使读者能够对WinForm应用程序开发有进一步的了解和认识,能够运用Visual Studio开发基于WinForm的应用程序。1.掌握WinForm编程的基础知识。2.掌握开发WinForm应用程序的步骤。3.了解WinForm的属性、方法和事件。4.熟悉常用Windows控件的使用方法,
2、掌握菜单、工具栏和状态栏的设计方法。5.掌握对话框的各种应用方法。7.1窗体编程基础Windows 窗体是用于.NET Framework 的智能客户端技术,是一组简化读取和写入文件系统等常见应用程序任务的托管库。使用 Visual Studio 等开发环境时,可以创建 Windows 窗体智能客户端应用,以显示信息、请求用户提供输入,以及通过网络与远程计算机通信。在Windows窗体中,窗体是一种可视界面,可在其上对用户显示信息。通常情况下,通过向窗体添加控件和开发对用户操作(如单击鼠标或按键)的响应来构建Windows窗体应用程序。控件是离散的用户界面(UI)元素,用于显示数据或接受数据输
3、入。当用户对窗体或一个窗体控件执行了某个操作,该操作将生成一个事件,应用程序通过使用代码对这些事件做出反应,并在事件发生时对其进行处理。Windows 窗体包含各种可以向窗体添加的控件:显示文本框、按钮、下拉框、单选按钮甚至网页的控件。使用Visual Studio拖放Windows 窗体设计器,可以轻松创建 Windows 窗体应用程序。只需用光标选中控件,然后将它们添加到窗体中所需的位置即可。设计器提供诸如网格线和对齐线的工具,可简化对齐控件的操作。7.1.1创建Windows窗体1.使用Visual Studio 2019开发环境创建窗体2.利用文本编辑器创建窗体7.1.2窗体的基本操作
4、1.创建新窗体2.设置属性3.编写程序代码4.保存、运行项目5.窗体的交互例7.1在test7_1中,创建一个窗体Form1,再添加一个窗体Form2,在Form1添加1个button1和1个textBox1控件,修改button1的Text的属性为“跳转到Form2”,在Form2添加2个button和1个textbox控件,并参照图7.8右边Form2窗体修改button的属性。7.1.3 控件的常用属性、方法和事件1.控件焦点2窗体的常用属性3.常用方法与事件例7.2简易加法器制作,参照图7.9所示的简易加法器界面设计程序,添加控件顺序为button1、button2、label1、te
5、xtBox1、label2、textBox2、label3、textBox3,参照图片修改相应控件的Text属性。7.1.4 Button控件Button类表示简单的命令按钮,派生于抽象类ButtonBase,是程序开发常用的控件,主要用于接收用户单击(Click)事件,当用户单击或按回车键时,就会触发Click,执行相应的代码。命令按钮具备控件所共有的基本属性,常用属性如表7.1所示。常用成常用成员描述描述属性属性Text定义标题Name指明名称Image设置控件显示图片Location修改按钮位置事件事件Click单击按钮时触发该事件7.1.5 Label与LinkLabel控件Label
6、控件即标签控件,通常只是用来显示一些描述性的文字和信息,如图7.12所示。Label控件常用属性与事件属性属性/事件事件使用使用说明明AutoSize属性控制label控件是否根据显示的文本自动调整控件的大小。属性值为true和false。默认值为trueBorderStyle属性用于设置label边框样式,有3个属性值,0-Name,表示没有边框;1-FixeSingle,标签具有单线边框;2-Fixed3D,具有3D样式边框Click、DoubleClick事件与通用控件单击、双击事件用法一样MouseHover事件当鼠标指针悬停在控件时发生MouseHover事件LinkLabel控件L
7、inkLabel为带链接的标签,该控件可以在窗体上创建Web样式的链接。一切可以使用label控件的地方,都可以使用LinkLabel控件,还可以将文本的一部分设置为指向某个对象或Web页的链接,LinkLabel控件除了Label控件的所有属性、方法和事件外,还有一些自己的常用属性,如表7.3所示。属性属性/事件事件使用使用说明明LinkArea属性属性用于获取或设置文本中被作为超链接的文本区域,例如该控件的Text属性值为“visual2019”,要使用“2019”设置链接,将该属性改为“7,10”即可LinkColor属性属性设置超链接的末访问之前的默认颜色LinkVisited属性属性
8、指示链接是否应显示为如同被访问过的链接LinkVisitedColor属性属性当LinkVisited属性为真时,设置超链接的颜色ActiiveLinkColor属性属性当单击时,超链接的颜色LinkClicked事件事件单击链接时触发的事件7.1.6 TextBox控件TextBox控件通常用于可编辑文本,不过也可使其成为只读控件。文本框可以显示多个行,对文本换行使其符合控件的大小以及添加基本的格式设置。TextBox控件仅允许在其中显示或输入的文本采用一种格式。常用属性与事件如表7.4所示。TextBox控件常用属性与事件属性属性/事件事件使用使用说明明Text属性属性设置与返回文本框的文
9、本内容。可使用属性窗口与可以使用代码,例如:textBox1.Text=”基于游戏编程教材”;MaxLength属性属性设置文本框输入字符串的最大长度是否有限,默认为0,表示只爱系统内存限制,如果大于0,则表示能够输入的最大字符串长度。可用属性窗口与可用代码设置,如textBox1.MaxLength=100;/textBox1中最多能接收100个字符MultiLine属性属性是否多行显示,有true和false两个值,默认为falseScollBars属性属性设置文本框是否有垂直或水平滚动条。有四种属性值,分别是:0-None,没有滚动条;1-Horizontal,有水平滚动条;2-Vert
10、ical,有垂直滚动条;3-Both,有水平也有垂直滚动条。同样可以用代码来实现PasswordChar属性属性设置文本框中是否显示用户输入的字符,如果属性值设置为字符,则用户输入的内容为指定字符,也可以代码设置,例如:textBox1.PasswordChar=”*”/将textBox1的密码字符为“*”SelectedText属性属性返回在文本框中选择的文本。如程序运行时需操作当前文本,则可以通过该属性来操作ReadOnly属性属性设置文本框中的文本内容是否只读TexdtChanged事件事件当文本框内容发生改变就触发这个事件,类似Click使用就行KeyPress与与KeyUp事件事件K
11、eyPress事件在用户按下和松开被触发事件,KeyUp事件则是用户松开一个键时触发7.1.7 PictureBox控件PictureBox 控件可以显示来自位图、图标或者元文件,以及来自增强的元文件、JPEG 或 GIF 文件的图形。如果控件不足以显示整幅图像,则裁剪图像以适应控件的大小。它最重要的属性是Image属性,该属性用于设置显示图片框的图片。7.1.8 Timer控件Timer控件为时钟控件,也称计时器控件,主要用于计时,通过引发 Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。该控件常用属性和事件不是很多,Enabel、Interval属性和Tick事件,如
12、表7.5所示。属性属性/事件事件说明明Enable属性属性设置Timer控件是否启用,有true和false两个值Interval属性属性设置Timer计时器事件之间的间隔时间,其值为064767msTick事件事件在Timer的Enable属性为真是,间隔指定的时间触发一次Tick事件7.1.9 容器类控件在程序开发过程中,最常用的窗体是容器类控件,除此之外,其他常用的容器类控件有GroupBox(框架控件)、Panel(面板控件)。它们都可以将其他控件放入本身容器内形成一个整体,然后就可将容器控件和子控件一起移动,结合子控件可以完成组的操作,GroupBox控件最常用的属性有Text和Vi
13、sible两。Panel控件派生于ScrollableControl,除了所有控件共有的属性外,还有较为重要的AutoScroll和BorderStyle属性,如表7.6所示。属性属性说明明AutoScroll有true和false值,默认值为false。如为true时可以滚动容器中的控件,以便显示更多控件及内容BorderStyle设置Panel控件是否显示边框,有三种选择,分别是None无边框;FixedSingle:边框为单实线;Fixed3D为3D边框。默认为无边框7.1.10 RadioButton控件单选按钮一般用于从多个选项中选择一项,该控件同样具有Text、Name等属性,当然
14、也有它不同的属性和事件,这里介绍Checked属性和CheckedChanged事件,Checked属性是判断该控件是否选择中,CheckedChanged事件为选择触发事件。下面通过案例演示该控件的使用方法。例7.3选择两种不同菜品的程序,通过此实例掌握RaidoButton的用法。添加GroupBox控件、Label控件以及radioButton控件,效果如图7.14所示7.1.11 CheckBox控件CheckBox为复选框控件,使用复选框控件可以允许用户选择一项或多项的操作。下面通过案例来讲述CheckBox控件的使用方法。例7.4 选择感兴趣的模块。添加Label、CheckBox
15、和Button控件来完成,具体界面如图7.15所示。7.1.11 MenuStrip控件在Windows窗体中,菜单一般都会提供给应用程序完成各种操作,例如,记事本程序中左上方有“文件”“编辑”“格式”“查看”“帮助”等菜单,每一个菜单又有下拉菜单,这样给用户提供方便的程序操作,提高用户体验。菜单的基本作用有两个:一是提供人机对话的接口,方便用户选择应用程序各种功能;二是管理应用程序,操作各种功能模块。1.MenuStrip控件2.ContextMenuStrip控件例7.5创建Rtf/txt文本编辑器程序7.1.12 对话框设计对话框的类型有很多,有时也会用到MessageBox对话框,.N
16、ET Framework包含了一些通用预定义对话框。1.OpenFileDialog对话框2.SaveFileDialog对话框3.FontDialog对话框名称名称说明明OpenFileDialog打开文件对话框SaveFileDialog保存文件对话框ColorDialog从调色版选择颜色对话框FongDialog字体设置对话框PageSetupDialog打印页面设置对话框PrintDialog打印机设置对话框PrintPreviewDialog打印预览对话框例7.6打开例7.5,完成打开,保存,打印、退出、版本等操作,完成代码编写7.2 实验 游戏登录与注册设计【实验目的】1.掌握窗体常用属性及事件。2.掌握常用控件的属性及事件。3.掌握对话框、菜单的使用。4.了解XML文件存储、读取等操作。【实验内容】通过Visual Studio 2019开发完成模拟游戏登录、注册的程序,完成窗体、控件的布局,完成窗体及控件的属性设置,完成事件程序编写,完成XML文件存储等内容。【实验环境】操作系统:Windows 7/8/10(64位);Mac OS X 10.11及以上版本。处理器:4.0GHz及以上。内存:4GB及以上。GPU:有DirectX 9(着色器模型2.0)功能。