2015年广工C#与课程设计

上传人:宝路 文档编号:2114676 上传时间:2017-07-20 格式:DOCX 页数:32 大小:485.09KB
返回 下载 相关 举报
2015年广工C#与课程设计_第1页
第1页 / 共32页
2015年广工C#与课程设计_第2页
第2页 / 共32页
2015年广工C#与课程设计_第3页
第3页 / 共32页
2015年广工C#与课程设计_第4页
第4页 / 共32页
2015年广工C#与课程设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《2015年广工C#与课程设计》由会员分享,可在线阅读,更多相关《2015年广工C#与课程设计(32页珍藏版)》请在金锄头文库上搜索。

1、1. NET结构与 C#程序设计课程设计题 目 年度月历备忘录 学 院 计算机学院 专 业 计算机科学与技术 年级班别 12 级 4班 学 号 3112005901 学生姓名 柏石先 指导教师 杨劲涛 目录一、软件说明: .3功能说明 .3解决什么样的实际问题 .3性能说明 .3程序类型说明 .3二、软件设计 .4软件整体结构图及模块划分 .4在 VS 的“解决方案资源管理器”中的文件说明; .4各模块对应的主要对象或方法; .5数据库设计或数据文件说明; .9算法分析 .10三、测试 .13测试用例列表; .13软件运行截图; .14测试情况分析 .17四、小结 .17五、附录 .18用到的

2、第三方控件或组件说明 .18程序的主要代码 .18 一、软件说明:功能说明(1) 实现万年历的基本功能,可按年份查看每年的月历。并且每月的日期排布作为一个页面显示;(2) 能够正确展示星期、一周一行,红色显示节假日、周末。并且加入了更符合实际需求的农历显示和中国的节假日,二十四节气以及传统节日的显示等等。(3) 在月历显示界面,鼠标点击任何一天的对应的号码,都可以打开一个小文本框,作简单记事,所记内容存入本地的文件,并且按记录的日期进行命名,方便用户进行查找。(4) 如果某天已经有了记事内容,可以提供直接查看以往记录的内容并且提供及时修改,及时保存,便再次查看的功能。解决什么样的实际问题在日历

3、的原有功能的基础上,增加了农历显示,传统节假日和节气的提示。也整合了备忘录的功能。做到了简洁明了的方便用户记录每一天的备忘,并且能够快捷的方便用户修改和查看。性能说明能较快的响应用户的操作,并且实时刷新界面的显示内容。窗体的切换基本流畅,画面过度无明显卡顿。数据保存基本可靠,整体流程可行性高,对系统性能要求不高,无需网络和数据库的的连接。程序类型说明是单机版的 windows 窗体程序,文件是以.exe 结尾的可执行程序。二、软件设计软件整体结构图及模块划分在 VS 的“解决方案资源管理器”中的文件说明;月历备忘录月历显示界面年份选择月份选择按要求显示日期备忘编辑模块首次编辑修改编辑备忘保存模

4、块保存位置测试核验保存记录新增更改和删除解决方案管理器相关文件说明:Program.cs 则是程序的入口DateSources 目录下的则是资源数据文件和展示的中间对象CalendarException.cs 是自定义的月历的异常处理机制的异常类ChineseDate.cs 是对农历处理的类,主要是转化公历转化为农历ChineseCalender.cs 是处理节日的类,主要是根据日期计算节假日和节气Calendar.cs 是月历显示已经交互操作的窗体代码show.cs 是备忘录编辑和保存的操作的窗体代码各模块对应的主要对象或方法;在 panel2 容器里面绘制自定义的日历控件,主要功能是绘制出

5、 5 行 7 列的日历网格布局,再让布局网格中加载根据选择的当前年份和月份的日期数据。也就是改一个月的日期排序。按照计算每一天的只是星期几进行相应位置的填充。private void panel2_Paint(object sender, PaintEventArgs e)int num;Graphics graphics = e.Graphics;Pen pen = new Pen(Color.Blue, 2f);Pen pen2 = new Pen(Color.FromArgb(0xff, 0xeb, 0xd3), 1f);TextureBrush brush = new TextureB

6、rush(Resources.hehe, WrapMode.TileFlipXY);graphics.FillRectangle(brush, 0, 0, 750, 0x1db);graphics.FillRectangle(new SolidBrush(Color.White), 5, 40, 740, 400);SolidBrush brush2 = new SolidBrush(Color.FromArgb(50, 0xff, 0xf7, 0xf1);graphics.FillRectangle(brush2, 10, 0x2d, 560, 30);graphics.DrawLine(p

7、en2, 10, 0x2d, 570, 0x2d);graphics.DrawLine(pen2, 10, 0x4b, 570, 0x4b);for (num = 1; num 0x23f) | (e.Y 0x1b3)return;int num = (e.X - 10) / 80;int num2 = (e.Y - 0x4b) / 60;if (this.dateArraynum, num2 = null) return;DateTime time = DateTime.Parse(this.dateArraynum, num2);this.dtInfo = time;int year =

8、time.Year;int month = time.Month;int day = time.Day;string sendmsg = year + 年 + month + 月 + day;Form sf = new show(sendmsg);sf.Show();/ this.panel3.Refresh();/ 将星期几转成数字表示private int ConvertDayOfWeek(DayOfWeek dayOfWeek)switch (dayOfWeek)case DayOfWeek.Sunday:return 1;case DayOfWeek.Monday:return 2;

9、case DayOfWeek.Tuesday:return 3;case DayOfWeek.Wednesday:return 4;case DayOfWeek.Thursday:return 5;case DayOfWeek.Friday:return 6;case DayOfWeek.Saturday:return 7;default:return 0;获取农历日期的方法,运用现在的公历日期时间,计算得到相应的农历日期时间。public static string GetChinaDate(DateTime dt)if (dt china.MaxSupportedDateTime | dt

10、 = leapMonth)iMonth-;string szText = 正二三四五六七八九十;string strMonth = isLeapMonth ? 闰 : ;if (iMonth = firstDayofWeek) DateTime time2;TimeSpan span;if (num endMonthDay) break;string str = null;string day = null;string holiday = null;string s = null;if (j 0) & (j 3) ? holiday.Substring(0, 3) : holiday, ne

11、w Font(, 9f), brush3, (float)(40 + (80 * j), (float)(90 + (60 * i);if (s != )graphics.DrawString(s, new Font(, 10f), brush, (float)(0x19 + (80 * j), (float)(0x73 + (60 * i);elsegraphics.DrawString(day = 初一) ? str : day, new Font(, 10f), brush, (float)(0x19 + (80 * j), (float)(0x73 + (60 * i);graphic

12、s.DrawString(num.ToString(CultureInfo.InvariantCulture), font, brush, (float)(15 + (80 * j), (float)(80 + (60 * i); else time2 = DateTime.Parse(string.Concat(new object year, -, month, -, num );span = (TimeSpan)(time2 - time);this.dateArrayj, i = time2.ToShortDateString();if (span.Days = 0)graphics.DrawEllipse(new Pen(Color.Chocolate, 3f), 15 + (80 * j), 0x55 + (60 * i), 30, 15);str = ChineseDate.GetMonth(time2);day = ChineseDate.GetDay(time2);holiday = ChineseDate.G

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号