C#课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《.net 技术》实验报告
2011~2012学年第二学期
学号姓名承担任务评分等级10111943 黄浩炜* 图片播放器部分编码实现、功
能拓展
10111949 方伟成功能设计、屏幕录制编码实现
10111944 蔡圣多功能科学计算器编码实现、
msv文件结构设计
10111945 姜青林美工、图片播放器部分编码实
现
10111935 于晨哲应用小游戏
说明:评分等级由教师填写,其余由学生填写。
姓名后带“*”的为实验小组长。
华东理工大学
信息学院计算机系
2012年 6 月 1 日
一、实验目的:
1、熟练并掌握.net编程的方法。
2、对比JAVA和C++,掌握C# 编程与前二者的联系与区别。
3、按照教师要求实践针对.net编程技术的原型系统。
二、实验内容:
1、采用Windows编程技术实现一个图片播放器。
2、实现一个计算器的原型系统。
3、在1实现的图片播放器的基础上实现一个电脑截屏软件原型系统,并实现其回放
功能。
4.实现一个应用小游戏
三、收获与体会(要求小组成员简要填写在课程实验中遇到的主要问题以及解决方法,并手工签上小组所有成员姓名):
体会:
我们小组经过3个星期的奋斗,终于完成了这次实验。
过程并不一帆风顺,我们遇到许多技术性困难,通过解决困难及完善自己的软件,确实收获不少。
通过百度,我们小组在实验程序的可行性上不存在疑惑,但是在具体的实现上,着实遇到不少问题,其中主要的问题清单如下:
1.图片播放器的设计,具体为“如何设计清新界面”、“怎么设计才能操作简易”、
“是否需要缩略图以及如何表现”、“是否需要播放音乐”等问题;
2.科学计算器应有多少功能比较实用,比如“数学上的函数功能应不应该有”、“括号功能怎么实现”以及“历史记录怎么实现实时保存与修改”等问题;
3.屏幕录制程序方面,性能是大问题。
具体如“怎么录制才能减少资源占用(包括CPU 以及存储资源)”、“自定义文件怎么定义才能使得处理更高效”、“文件关联怎么实现以及相应文件可读性识别(如格式为.msv文件但是二进制内容与msv格式不对应的相应情况处理)”等问题。
****************************Solution***************************************** 通过查阅资料(主要是来源于百度)、观看他人公开的示例源代码以及以用户身份思考功能设计,我们提出了自己的解决方案:
1.关于图片播放器,我们最后通过讨论决定,应该实现音乐播放和速度控制功能,并且可以实现打开上一张,下一张,全屏播放。
2.关于科学计算器,我们决定实现简单实用的计算器。
3.关于屏幕录制程序,我们不但实现了截屏,保存功能,还附带了播放功能。
****************************The End***************************************** 通过这次程序设计实验,我们小组学到了很多知识,更重要的是学会了如何去找出问题并分析问题和解决问题,以及关于“在用户角度思考设计”的切身体会。
感谢老师给我们这次机会去尝试和体验,谢谢!
—————C# Heat Team所有成员
签名:
实验一、图片播放器
/*********************************************
* 图片播放器 PicturePlayer *
* 开发小组:C# Heat Team *
* 编码实现:黄浩炜、姜青林 *
*********************************************/ //由于图片播放器实现代码量小,功能集中,所以实现在一个窗口类public partial class frmImgShow :Form { … }
/*********************************
* 图片播放器类变量 *
*********************************/
//分别定义存储图片信息的数组以及存储图片的路径数组
int flag = 0; //记录当前是地几张图片
FileSystemInfo[] fsinfo; //存储文件夹的文件
ArrayList a = new ArrayList(); //数组变量存储图片路径
int n = 0; // 切换图片的数量
/*********************************
* 图片播放器类功能函数 *
*********************************/
//下面即图片播放器的功能实现模块函数
//获知具体函数体内部代码请查看附件
/********************************************
* 函数名:PicturePlayer *
* 函数体:public PicturePlayer() *
* 功能:窗口类的参数的初始设置 *
********************************************/
public PicturePlayer(){…}
/********************************************
* 函数名:bgsound *
* 函数体:public void bgsound(); *
* 功能:根据music.Tect播放不同音乐 *
********************************************/
public void bgsound(){…}
/********************************************
* 函数名:button1_Click *
* 函数体:private void button1_Click(...); *
* 功能:循环播放图片 *
********************************************/
private void button1_Click(){…}
/********************************************
* 函数名:button5_Click *
* 函数体:private void button5_Click(); *
* 功能:选取图片所在文件夹,保存路径 *
********************************************/
private void button5_Click(){…}
/********************************************
* 函数名:button3_Click_1 *
* 函数体:private void button3_Click_1(…);*
* 功能;按钮控制播放上一张图片 *
********************************************/
private void button3_Click_1(Stream saveImg){…}
/********************************************
* 函数名:button4_Click_1 *
* 函数体:public string button4_Click_1(…);*
* 功能:按钮控制播放下一张图片 *
********************************************/
private void button4_Click_1(object sender, EventArgs e){{…}
/********************************************
* 函数名:button2_Click *
* 函数体:private void button2_Click(…); *
* 功能:按钮控制停止播放 *
********************************************/
private void button2_Click(object sender, EventArgs e){…}
/********************************************
* 函数名:timer1_Tick_1 *
* 函数体:private void timer1_Tick_1(…); *
* 功能:控制每个时间周期播放1张图片 *
********************************************/
/********************************************
* 类名:FormTwo *
* 类体:public class FormTwo : Form{…} *
* 功能:用于全屏播放幻灯片的窗口 *
********************************************/
public class FormTwo : Form{…}
************************* The End Of 图片播放器实验 ****************************
实验二、科学计算器
/*********************************************
* 科学计算器 Version1.4.1 *
* 开发小组:C# Heat Team *
* 编码实现:蔡圣 *
*********************************************/
//由于代码量过大,故只列出计算器相应框架,具体代码实现请查看附件获取
/********************************************
* 类名:CalCore *
* 类体:class CalCore{…} *
* 功能:提供计算器的表达式处理及函数等 *
********************************************/
class CalCore {…}
/********************************************
* 函数:Cal cal = new Cal(str) *
* 功能:提供计算器的计算功能 *
********************************************/
cal.Calculate(…)
/********************************************
* 类名:Form1 *
* 类体:public partial class Form1{…} *
* 功能:计算器的主窗口类 *
********************************************/
public partial class frmCal : Form{…}
//Ps. 其余均为辅助窗口,如history窗口、帮助窗口等,在此不再赘述
************************* The End Of 科学计算器实验 ****************************
实验三、屏幕录制程序
/********************************************
* Video Recorder version 1.51.0613 *
* 开发小组:C# Heat Team *
* 编码实现:方伟成 *
********************************************/ /********************************************
* 类名:Program *
* 类体:static class Program{…} *
* 功能:程序入口 *
********************************************/
static class Program {…}
/************************************************
* 类名:MyVideo *
* 类体:class MyVideo{…} *
* 功能:定义rec2文件格式,处理读取及保存等 *
************************************************/
class MyVideo {…}
/********************************************
* 类名:MyCapture *
* 类体:class MyCapture{…} *
* 功能:截取屏幕图片的实现 *
********************************************/
class MyCapture {…}
/********************************************
* 类名:frm_main *
* 类体:public partial class …{…} *
* 功能:主窗体 *
********************************************/
public partial class frmShow : Form {…}
/********************************************
* 类名:box_about *
* 类体:public partial class …{…} *
* 功能:程序的说明、关于 *
********************************************/
public partial class box_about : Form {…}
/********************************************
* 类名:ProgressTrackBar *
* 类体:public class ProgressTrackBar{…}*
* 功能:播放器播放进度条 *
********************************************/
public partial class ProgressTrackBar :UserControl {…}
************************* The End Of 科学计算器实验 ****************************
实验四、应用小游戏
/********************************************
* Video Recorder version 1.51.0613 *
* 开发小组:C# Heat Team *
* 编码实现:于晨哲 *
********************************************/
/********************************************
* 函数名:pictureBox_Click *
* 类体:pictureBox_Click{…} *
* 功能:实现点击剪刀石头布图片的反应 *
********************************************/
private void pictureBox2_Click(object sender, EventArgs e)
p1.Image = Image.FromFile("bu.jpg");
int i = new Random().Next(1, 4);
if (i == 2)
p2.Image = Image.FromFile("shitou.jpg");
MessageBox.Show("you win");
b2.Value -= 10;
if (b2.Value == 0)
MessageBox.Show("Congratulations you win the game");
/********************************************
* 函数名:pictureBox9_Click *
* 类体:pictureBox9_Click{…} *
* 功能:实现点击蘑菇回血 *
********************************************/
private void pictureBox9_Click(object sender, EventArgs e)
/********************************************
* 函数名:pictureBox8_Click *
* 类体:pictureBox8_Click{…} *
* 功能:实现点击炸弹伤害僵尸 *
********************************************/
private void pictureBox8_Click(object sender, EventArgs e)
{
b2.Value -= 10;
MessageBox.Show("corpse hp reduce 10");
if(b2.Value ==0)
MessageBox.Show("Congratulations you win the game");
}
*********************** The End Of 屏幕录制程序实验 ****************************
*********************** 在报告的最后 ******************************************
* 我们团队经过几个星期的努力,终于完成了这次实验。
虽然实验很辛苦,经常会搞不*
* 懂哪里代码错了而纠结半天,经常要进行繁琐的代码和界面的修改,经常要翻阅书本和*
* 网上学习一句代码。
但是每当实现一个功能,都会让我们激动不已。
因为我们用自己的*
* 劳动具体完成了一个应用软件。
虽然软件还不够成熟,还需要日后不断改进。
但是这次*
* 实验很好地锻炼了我们编写代码的能力,还锻炼了我们的程序思维以及我们的团队协作* * 能力,极大地增强了我们的自信心,为我们日后的计算机方面的工作奠定了良好基础。
*
* 这次实验也为我们制作软件指明了方向。
学无止境,我们今后会不断学习和实践C#编码*
* 。
*
* *
* *
* ——————By C# Heat Team *
* 2012.6.1 *
************************ The End ***********************************************。