项目2 图片移动_第1页
项目2 图片移动_第2页
项目2 图片移动_第3页
项目2 图片移动_第4页
项目2 图片移动_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

图片移动项目二高等院校公共课系列精品教材C#程序设计了解面向对象编程语言学会类及其成员的定义和使用掌握C#语言中常见数据类型学会变量和常量的使用掌握C#中注释的用法掌握WinForm中常用控件Button、Label、PictureBox、Timer、Panel等的使用掌握WinForm中控件的常用事件Click、Load事件的使用技能目标了解了C#语言的开发流程以后,我们来正式学习C#的语法结构,同时为了培养学习兴趣,我们使用引入“图片移动”项目,一边操作一边学习语法,VS2013可以使用鼠标操作来代替编程,让编程变得更容易。项目导读任务1知识点任务2图片移动项目案例知识梳理知识点任务1一、面向对象编程二、类及其成员三、常用数据类型四、常量与变量知识梳理任务引入:前面介绍了C#的两种“HelloWorld”应用程序的开发,感觉还是比较简单的,马上对C#编程产生了浓厚的学习兴趣对不对?为了更好地掌握C#语言,让我们首先从学习C#语言的基本语法开始吧!任务分析:C#的语法和C语言及其相似,或者可以认为是对C语言进行了改进,增加了面向对象的开发理念。任务1知识点一、面向对象编程面向对象编程中对象(处理事物的一种抽象)是程序的基本元素,它将数据和操作紧密地连结在一起,并保护数据不会被外界的函数意外地改变。同时引入了类,类是对象的模版,是一种数据类型,融数据和操作于一体,具有封装、继承、多态的特性。封装:让类能够隐藏内部实现细节,以免遭受不希望的修改,进而导致内部状态无效或不一致。继承:面向对象程序设计的主要特征之一,它可以重用代码,节省程序编写的时间。多态:面向对象编程中三大机制之一,其原理建立在“从父类继承而来的子类可以转换为其父类”这个规则之上,换句话说,能用父类的地方,就能用该类的子类。任务1知识点知识准备:二、类及其成员“类”是一种构造,通过使用该构造,可以将其他类型的变量、方法和事件组合在一起,从而创建自定义类型。类就像一个蓝图,它定义类型的数据和行为。class关键字前面是访问级别,主要包括:private,protected,public等。在C#中,这是通过访问修饰符实现的,访问修饰符指定了在类的外部成员的访问的权限,以及对继承的限制。允许访问的类成员是可访问的,不允许访问的类成员是不可访问的。访问级别:对于命名空间,不能指定访问修饰符,默认public;类的访问级别默认为internal(内部),但可以声明为public或internal;嵌套类的访问级别默认为private,但也可将其声明为5种访问级别中的任何一种;类成员的访问级别默认为private,但可将其声明为5种访问级别的任何一种。任务1知识点类的访问修饰符见表。参数分为3类:值参数:最常见,调用方法时,对于每个值参数,都将隐式地创建一个局部变量,并将参数列表中相应的值赋给它。引用参数:不额外占用内存空间,而指向参数列表中相应参数的存储位置。引用参数使用ref声明的,在形参列表和实参列表中都必须使用该关键字。输出参数:类似于引用参数,但在形参列表和实参列表中都必须使用关键字out。与引用参数不同的是,在方法返回前,必须给输出参数赋值。任务1知识点注意:值得注意的是,要让定义的方法执行所需的动作,必须调用它。如果方法需要输入参数,就必须在实参列表中指定它们。如果方法提供输出值,那么这个值也可存储在变量中。实参列表与形参列表之间通常存在一对一的关系,这意味着调用方法时,对于每个形参,都必须按正确的顺序提供类型合适的值。任务1知识点三、常用数据类型在C#中,类型是对值的描述,一般分为两类:值类型(实际值)和引用类型(指向实际数据的引用);两者的区别主要是:所有的值类型都是继承自System.ValueType,所有的引用类型继承自System.Object;值类型不能作为其他任何类型的基类型,数据存储在内存的栈区;引用类型可以当作其他类型的基类型,引用类型的数据存储在内存的堆区;值类型的存取速度快,引用类型存取速度慢;值类型表示实际数据,引用类型表示指向存储在内存堆中的数据的指针或引用;值类型是完全独立的,它“按值”复制。这意味着值类型变量包含其数据,不会因为处理一个变量而影响其它变量。值类型又分为:结构、枚举和可以为null的类型等。任务1知识点常用数据类型见表。任务1知识点四、常量与变量变量可以简单地理解为表示一个存储位置,其中的值可随时间流逝而变化。大致可以分为全局变量和局部变量,其中局部变量为最主要的存在形式。变量可以通过指定类型、标识符和可选的初值来定义:inta;intb=1;intc,d;任务1知识点定义标识符必须遵循以下规则:只能包含字母、数字和下划线;必须以字母或下划线打头;在给定的声明空间内,标识符必须是唯一的;标识符区分大小写;应易于阅读理解,尽可能具有丰富的含义。由于标识符定义了特定元素的名称,因此C#保留了一些标识符供自己使用,即关键字。C#中关键字见表。任务1知识点注意:表中加粗的关键字为上下文关键字,它们仅在特定情况的上下文中有特殊义,但是也应尽量避免使用。图片移动项目案例任务2一、创建项目二、界面布局三、编写代码知识梳理任务引入:如果只学习语法肯定会太枯燥对不对?别担心!咱们马上做一个有意思的小项目,通过项目的开发来巩固语法知识的学习和应用。从这个意义上说,做任何事情,我们只有不断的探索,不断的尝试,才能逐步掌握新知识。任务分析:图片移动项目的开发是循序渐进的,先放一张图片到窗体中,然后再让图片动起来,进而控制图片按照不同的规则去移动。任务2图片移动项目案例一、创建项目启动VS2013以后,选择“文件”菜单——“新建”——“项目”打开“新建项目”对话框,确认左侧目录树选中的是“VisualC#”选项,然后选择“Windows窗体应用程序”,浏览到项目的存放目录“D:\CSharp”,名称设置为“WPictureMove”。任务2图片移动项目案例项目实施:二、界面布局本项目主要用按钮来控制图片在windows窗体中的运动方式,界面布局如图2-1所示,依次从工具箱中将每个控件添加到Form1窗体中,其中PictureBox控件用于存放图片,Timer控件用于控制图片循环移动。主要控件的属性和事件设置如表所示。任务2图片移动项目案例任务2图片移动项目案例三、编写代码前台界面(Form.cs[设计])设置完毕之后,右击窗体“Form1”——“查看代码”可以进入后台代码(Form.cs)的编写界面,或者右击解决方案资源管理器的文件“Form1.cs”——“查看代码”也可以进入代码编写界面。1.定义窗体的公共变量(即类Form1的字段) 这里用到了C#语言中的两种注释(编译器会忽略注释,只为提高可读性)方式: (1)单行注释: (2)代码块注释: (3)多行注释: (4)XML注释:任务2图片移动项目案例代码块注释2.编写自定义方法move(),用于选择三种不同的运动方式。3.编写timer1_Tick()方法,该方法是在设计界面双击控件timer1自动生成的4.编写“左右运动”按钮的单击事件绑定的方法btnLeftRigth_Click(),让图片做左右运动,该方法是在设计界面双击控件btnLeftRight自动生成的。5.编写“上下运动”按钮的单击事件绑定的方法btnUpDown_Click(),让图片做上下运动,该方法是在设计界面双击控件btnUpDown自动生成的。6.编写“环周运动”按钮的单击事件绑定的方法btnCircle_Click(),让图片做环周运动,该方法是在设计界面双击控件btnCircle自动生成的。7.编写“加速”按钮的单击事件绑定的方法btnSpeedUp_Click(),让图片加速运动,该方法是在设计界面双击控件btnSpeedUp自动生成的。8.编写“减速”按钮的单击事件绑定的方法btnSpeedDown_Click(),让图片减速运动,该方法是在设计界面双击控件btnSpeedDown自动生成的。任务2图片移动项目案例9.编写“窗体变大”按钮的单击事件绑定的方法btnBig_Click(),让窗体变大,该方法是在设计界面双击控件btnBig自动生成的。10.编写“窗体变小”按钮的单击事件绑定的方法btnSmall_Click(),让窗体变小,该方法是在设计界面双击控件btnSmall自动生成的。11.编写窗体Form1的单击事件绑定的方法Form1_Click(),实现单击窗体空白处使图片运动暂停,再次单击则会继续运动。12.编写窗体Form1的大小改变事件绑定的方法Form1_SizeChanged(),实现用鼠标拖动或者用按钮来改变窗体大小时,图片可以跟随窗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论