C#课设个人日程的管理系统doc.docx
《C#课设个人日程的管理系统doc.docx》由会员分享,可在线阅读,更多相关《C#课设个人日程的管理系统doc.docx(18页珍藏版)》请在冰点文库上搜索。
C#课设个人日程的管理系统doc
可视化程序设计
大作业
班级:
学号:
姓名:
指导教师:
计算机与通信工程学院
2018.01
1.任务描述
课题:
日程管理系统
由于题目没有提及要实现的具体的功能,所以在这里提前声明一下自己写的管理系统实现的功能。
1.1日程管理功能
1.录入功能:
用户进入此系统,可以添加每日日程事务,对日程事务进行修改、查询、删除等。
2.提醒功能:
日程管理系统会根据系统当前时间对用户添加的日程事务进行提醒,人性化方面的是用户可以根据自己的兴趣爱好自主选择提醒的音乐。
3.设置功能:
用户可以根据自己的喜好不同,个性化设置日程提醒时间、日程提醒次数、提醒音乐。
4.最小化功能:
系统可以最小化为系统托盘,不影响用户日常操作。
5.退出功能:
结束并关闭系统。
1.2接入数据库Access保存数据。
编写此程序的初衷并不仅仅是为了C#大作业,而是心底确实有想写一个属于自己的程序。
由于只考虑到自己使用,所以只用了微软的Access本地数据库来保存程序运行产生的数据。
本系统只包含一个数据表,详细信息如下:
表1-2事务数据表
字段名称
数据类型
说明
ID
自动编号
主键
D_SOLAR_CALENDAR
日期/时间
日程事务对应的阳历
D_LUNAR_CALENDAR
日期/时间
日程事务对应的阴历
D_CONTENT
文本
日程事务内容。
D_REMIND_MUSIC_PATH
文本
日程事务默认提示音乐
D_LEVEL
数字
日程事务等级暂时分为五级,0代表特急,1代表紧急,默认为2(中级),3代表缓慢,4代表过期。
D_REMIND_FLAG
数字
提醒标志,0代表已经提醒,1代表没有提醒,默认1。
2.成员负责部分与分数分配
想要源码请转到
3.正文
3.1概述
此程序是在Win10下VisualStudio2010版本下,联合微软的Access数据库开发的日程管理系统。
所以使用前应安装这两个软件。
其主要功能模块及其子功能如下图所示:
图1程序功能及子功能
3.2界面设计及其代码展示
3.2.1当日事务界面:
此界面包含当日待处理事务和当日已处理事务两个模块。
每个模块都包括事务内容、紧急程度、阳历、阴历、处理状态、提示音乐等详细信息。
同时,模块中都添加了一些方便操作的按钮,便于用户对事务进行操作处理。
图2当日事务页面
1.初始化窗体图标与皮肤。
publicstaticvoidInitForm(FormfrmUI,SkinUIdailySkinUI)
{
MemoryStreammStream=newMemoryStream(Properties.Resources.dailySkin);
dailySkinUI.SkinSteam=mStream;
frmUI.Icon=Properties.Resources.Icon;
}
publicstaticvoidInitForm(FormfrmUI)
{
frmUI.Icon=Properties.Resources.Icon;
}
2.应用程序主入口点。
staticvoidMain()
{
//获取项目名称,分配计算机资源
Process[]processes=Process.GetProcessesByName("daily");
if(processes!
=null&&processes.Length==2)
{
processes[1].CloseMainWindow();
ShowWindowAsync(processes[0].MainWindowHandle,1);
SetForegroundWindow(processes[0].MainWindowHandle);
}
else
{
Global.GlobalVariable.InitSysParameter();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(newUI.FrmMainThread());//运行FrmMainThread.cs
}
}
3.2.2.管理事务界面:
此界面包含所有日程事务和新增日程事务两个模块。
图3管理事务页面
点击增加按钮,如果选定事务时间与当前系统时间相同,跳转到新增事务窗口。
个人日程的增加日程流程图如下图1-4
图4个人日程的增加日程流程图
1.取消提醒。
privatevoidbtnCancelToday_Click(objectsender,EventArgse)
{
if(dgvToday.SelectedRows.Count>0&&MessageHandle.MessageAsk("确定要取消该日程事务?
","确定取消")==DialogResult.OK)
{
DataGridViewSelectedRowCollectionselectedRows=dgvToday.SelectedRows;
if(BusAdminDaily.UpdateDaliyState(selectedRows[0].Cells[0].Value.ToString(),"0"))
{
selectedRows[0].Cells["colRemindFlag_Today"].Value="已处理";
DataRowdr=((DataRowView)selectedRows[0].DataBoundItem).Row;
_dsDidToday.Tables[0].Rows.Add(dr.ItemArray);
dgvDidToday.CurrentCell=dgvDidToday.Rows[dgvDidToday.Rows.Count-1].Cells[1];
if(_dailyEntity!
=null&&_dailyEntity.ID==selectedRows[0].Cells[0].Value.ToString())
{
_dailyEntity.D_REMIND_FLAG="0";
}
dgvToday.Rows.Remove(selectedRows[0]);
MessageHandle.MessageInfo("恭喜,取消成功!
","提示信息");
}
}
}
2.修改事务。
privatevoidbtnModifyToday_Click(objectsender,EventArgse)
{
if(dgvToday.SelectedRows.Count>0)
{
DataGridViewSelectedRowCollectionselectedRows=dgvToday.SelectedRows;
mFromWhere=1;
ModifyDaily(selectedRows);
}
}
3.删除事务。
privatevoidbtnDelToday_Click(objectsender,EventArgse)
{
if(dgvToday.SelectedRows.Count>0&&MessageHandle.MessageAsk("注意:
该日程还没执行!
\n确定要删除该日程事务?
","确定删除")==DialogResult.OK)
{
DataGridViewSelectedRowCollectionselectedRows=dgvToday.SelectedRows;
if(BusAdminDaily.DeleteDailyById(selectedRows[0].Cells[0].Value.ToString()))
{
if(_dailyEntity!
=null&&_dailyEntity.ID==selectedRows[0].Cells[0].Value.ToString())
{
_dailyEntity=null;
ClearForm();
}
dgvToday.Rows.Remove(selectedRows[0]);
MessageHandle.MessageInfo("恭喜,删除成功!
","提示信息");
}
}
}
4.清空已处理。
privatevoidbtnClearDidToday_Click(objectsender,EventArgse)
{
if(dgvDidToday.SelectedRows.Count>0&&MessageHandle.MessageAsk("确定要删除当日所有已处理日程事务?
","确定删除")==DialogResult.OK)
{
if(BusAdminDaily.DeleteDailyOfToday())
{
if(_dailyEntity!
=null)
{
foreach(DataGridViewRowdataRowindgvDidToday.Rows)
{
if(_dailyEntity.ID==dataRow.Cells[0].Value.ToString())
{
ClearForm();
_dailyEntity=null;
break;
}
}
}
_dsDidToday.Tables[0].Rows.Clear();
MessageHandle.MessageInfo("恭喜,清空成功!
","提示信息");
}
}
}
5.清除所有。
privatevoidbtnDeleteAll_All_Click(objectsender,EventArgse)
{
if(dgvAll.Rows.Count>0)
{
boolbHasToDo=false;
if(dgvAll.Rows[0].Cells[5].Value.ToString()=="未处理")
{
bHasToDo=true;
}
if(bHasToDo&&MessageHandle.MessageAsk("注意:
有日程事务还没执行!
\n确定要删除所有日程事务?
","确定删除")==DialogResult.OK)
{
BusAdminDaily.DeleteDailyOfAll();
if(_dailyEntity!
=null)
{
foreach(DataGridViewRowdataRowindgvAll.Rows)
{
if(_dailyEntity.ID==dataRow.Cells[0].Value.ToString())
{
ClearForm();
_dailyEntity=null;
break;
}
}
}
_dsAll.Tables[0].Rows.Clear();
MessageHandle.MessageInfo("恭喜,删除成功!
","提示信息");
}
elseif(!
bHasToDo&&MessageHandle.MessageAsk("确定要删除所有日程事务?
","确定删除")==DialogResult.OK)
{
BusAdminDaily.DeleteDidDailyOfAll();
if(_dailyEntity!
=null)
{
foreach(DataGridViewRowdataRowindgvAll.Rows)
{
if(_dailyEntity.ID==dataRow.Cells[0].Value.ToString())
{
ClearForm();
_dailyEntity=null;
break;
}
}
}
_dsAll.Tables[0].Rows.Clear();
MessageHandle.MessageInfo("恭喜,删除成功!
","提示信息");
}
}
}
3.2.3关于系统界面:
简单介绍系统及作者信息。
此处有个图,我删了。
自己补上
图5系统信息界面
代码展示:
privatevoid关于系统ToolStripMenuItem_Click(objectsender,EventArgse)
{
tbcContainer.SelectedTab=tabPageAbout;
}
这个界面拖了一个名为tabPageAbout的lab控件,点击关于系统按钮就会显tabPageAbout的内容。
3.2.4系统设置界面:
默认设置
图6系统设置界面
(1)自动运行设置
A.自动运行,此项的标示数据是从ini文件进行读取.
B.如果选中“自动运行”项在菜单项要有一个“√”标示,并把该系统的文件写到注册表自动启动项中。
C.如果已有“√”标示再次点击时,应更改ini文件,同时删除注册表中自动启动项目中的内容。
(2)设置播放音乐目录
A.当提醒的消息框弹出时,播放指定的音乐,这个音乐设定在ini文件中,如原来有播放的音乐,打开目录对话框时要提示原来的音乐文件。
B.音乐文件格式首选MP3,也可以是其它音乐格式。
C.当按“打开”按钮后更新ini文件。
图7选择界面
选择提醒音乐:
privatevoidbtnBrowseDefaultFile_Click(objectsender,EventArgse)
{
openfiledlgMuicePath.Filter=“常见音频文件
(*.mp3;*.wav;*.wma;*.mid;*.asf)|*.mp3;*.wav;*.wma;*.mid;*.asf";
if(openfiledlgMuicePath.ShowDialog()==DialogResult.OK)
{
txtDefaultMusicPath.Text=openfiledlgMuicePath.FileName;
}
}
3.2.5日程事务提醒界面:
图8日程管理系统界面
在日历中选择某一天的日程,个人日程中就会显示该天的内容,流程如下图所示。
图9显示个人日程流程图
3.2.6系统托盘实现
图10系统托盘中的程序图标
系统启动后将它们自身的图标放入状态栏中,用鼠标点击该图标会弹出一个菜单,可实现系统设置、显示主界面、退出系统等功能。
如下图
图11系统托盘右键菜单
3.2.7数据库连接
图12VS2010中数据库链接显示
图13Access2016中数据显示
其中数据表的字段意义如下表所示:
字段名称
数据类型
说明
ID
自动编号
主键
D_SOLAR_CALENDAR
日期/时间
日程事务对应的阳历
D_LUNAR_CALENDAR
日期/时间
日程事务对应的阴历
D_CONTENT
文本
日程事务内容。
D_REMIND_MUSIC_PATH
文本
日程事务默认提示音乐
D_LEVEL
数字
日程事务等级暂时分为五级,0代表特急,1代表紧急,默认为2(中级),3代表缓慢,4代表过期。
D_REMIND_FLAG
数字
提醒标志,0代表已经提醒,1代表没有提醒,默认1。
4.心得
一直都有自己写一个程序的想法,但是由于大三以前只学了C++,所以想写程序的冲动只是一个愿望而已。
所以这学期我每节课C#都很认真的听讲,也基本理解了C#面向对象的思想。
但是真正写程序的时候还是有一种无从下手的感觉。
而自己又不想虚度这次课设,所以趁着计组课设并不是很忙的情况下,从网上看了一个7小时设计C#程序的网课。
大概又花了将近一个星期的时间把这个程序写完。
觉得心里很有收获。
经过几次调试,程序还是很健壮的。
一开始构想了很多的功能,但是后来发现实在太多了,所以就保留了现在仅有的几个简单的功能。
基本能够满足个人对日程管理软件的需求。
未来如果有时间的话,可能还会加入将今日未完成事项以便签的形式贴在电脑桌面上等一些功能。
想要源码请转到
赠送以下资料
《管理的实践》读后感
德鲁克说:
“管理就是界定企业的使命,并激励和组织人力资源去实现这个使命。
界定使命是企业家的任务,而激励与组织人力资源是领导力的范畴,二者的结合就是管理。
”提出了三个经典的问题:
我们的事业是什么?
我们的事业将是什么?
我们的事业究竟应该是什么?
这三个问题经过改编完全可以应用于现在的我们:
我们学习的是什么?
我们学习的将是什么?
我们学习的究竟应该是什么?
经典之所以被称之为经典往往在于其超强的预见性.多年之后依然闪耀者夺目的思想光辉,熠熠发光,为处在黑暗中的人们知音了前进的方向与道路。
大师之所以成为大师在于思想的高度,作品能够让人们产生心灵上的共鸣,大事记是肉身已逝,但精神依然长存.
德鲁克先生《管理的实践》已面世半个多世纪了,在这五十多年中,有关企业管理方面的书籍可以用浩如烟海来形容。
但能禁得住时间考验的的书籍还是《管理的实践》一书,这也从另一个侧面证明了《管理的实践》是一本值得认真阅读的好书。
终于读完了德鲁克的《管理的实践》,仿佛自己游荡在上个世纪中期的企业中。
这本书构筑了完整的“对人的管理”思想。
如:
1、人是资源,是所有资源中最富潜力的资源。
德鲁克认为“人的资源——整个的人,是自然赋予的所有资源中最丰富、最有才能,最有潜力的资源。
”这是因为在企业可以得到的所有资源中,认识“唯一能够增长和发展的资源”,亦即“人要贡献出什么必须由他自己决定”,只要他们愿意进行“有目标的、集中和联合的努力”,就可以“产生出真正完整的东西来”。
2、必须对人进行管理,挖掘出人的潜力。
德鲁克明确的提出“利润并不是企业活动的目的,利润不应该成为企业决策的理由、原因和依据,他只是对企业是否起作用的一种测验”,他说道:
“企业需要最大限度地发挥人的能力。
”因此,“经理人员的首要任务是把他的资源——首先是人的资源中蕴含的力量都挖掘和发挥出来。
那么我认为,真正诠释管理的意义就要将人的机能发挥的淋漓尽致。
人是社会的主体,是社会发展的主要动力。
”3、是工作富有活力,并使职工有成就感。
管理者如果只注重员工的绩效,那就死定了!
那是传统的管理方式,现代管理方式已经是人性化管理,更多的是注重员工的感受。
同样的工作,在行政的约束下与在自动自发的工作结果虽然是都完成任务了,但完成的综合效果完全不同。
只注重绩效的话,那会留不住优秀人才。
因此,要想将公司管理的有声有色,必须关注职工的感受,经常与他们交流,了解他们的想法,使他们在工作中能够感受到自己的重要性。
《管理的实践》一书,系统的论述了企业的核心问题,即企业的目的:
只有一个正确而有效的定义--创造顾客;两个基本职能--营销和创新。
企业存在的目的不能从自身寻找,只能从外部,从对社会的贡献中寻找,从客户那里寻找。
企业通过不断的创新满足顾客的需求。
管理本质上是一种实践,而不是一种专业和科学,其本质不在于“知”而在于“行”。
任何热衷于将管理科学化和专业化的尝试,试图消除所有的波动,风险和不可知的措施也就是在消除自由,创新和成长。
管理本质上是一句目标业绩和责任进行的管理。
检验管理和创新的成果,不是知识,而是业绩和成就。
管理者和员工在本质上没有差别,只有责任上的差别。
员工的权利不是来自于管理者的授权,而是来自于所承担的责任。
区分高层管理者和基层管理者的唯一维度在于时间。
正确的定位个人与组织的关系,组织要求员工要主动积极,以企业的目标为努力的方向,同时要求员工要自愿接受改变。
但员工对组织的要企业一般较为弱势,德鲁克总结为,首先员工是一个人,通过职位建立地位,希望公平做事有意义;其次,员工要求企业建立标准,对员工良好业绩的关注。
“组织需要个人为其做出贡献,个人需要把组织当成实现自己目标的工具。
”因此管理者的重要任务是将员工的目标引向组织目标。
管理者需要在现在和未来间取得平衡。
管理是一种稀缺的资源。
一本优秀的著作哇不尽的宝藏,可以陪伴人的终生。
有所得在于能够更加深刻的领悟思想的内涵与外延,在于发现自己的误解与错误,在于能够明确自己未来道路的方向!