C#课设个人日程管理系统设计Word文档下载推荐.docx
《C#课设个人日程管理系统设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C#课设个人日程管理系统设计Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
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)
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!
_dailyEntity.ID==selectedRows[0].Cells[0].Value.ToString())
_dailyEntity.D_REMIND_FLAG="
}
dgvToday.Rows.Remove(selectedRows[0]);
MessageHandle.MessageInfo("
恭喜,取消成功!
提示信息"
}
}
2.修改事务。
privatevoidbtnModifyToday_Click(objectsender,EventArgse)
0)
{
mFromWhere=1;
ModifyDaily(selectedRows);
3.删除事务。
privatevoidbtnDelToday_Click(objectsender,EventArgse)
注意:
该日程还没执行!
\n确定要删除该日程事务?
确定删除"
if(BusAdminDaily.DeleteDailyById(selectedRows[0].Cells[0].Value.ToString()))
{
_dailyEntity=null;
ClearForm();
恭喜,删除成功!
4.清空已处理。
privatevoidbtnClearDidToday_Click(objectsender,EventArgse)
if(dgvDidToday.SelectedRows.Count>
确定要删除当日所有已处理日程事务?
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();
恭喜,清空成功!
5.清除所有。
privatevoidbtnDeleteAll_All_Click(objectsender,EventArgse)
if(dgvAll.Rows.Count>
boolbHasToDo=false;
if(dgvAll.Rows[0].Cells[5].Value.ToString()=="
未处理"
)
bHasToDo=true;
if(bHasToDo&
有日程事务还没执行!
\n确定要删除所有日程事务?
BusAdminDaily.DeleteDailyOfAll();
foreach(DataGridViewRowdataRowindgvAll.Rows)
_dsAll.Tables[0].Rows.Clear();
MessageHandle.MessageInfo("
elseif(!
bHasToDo&
确定要删除所有日程事务?
BusAdminDaily.DeleteDidDailyOfAll();
if(_dailyEntity!
foreach(DataGridViewRowdataRowindgvAll.Rows)
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;
*.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中数据显示
其中数据表的字段意义如下表所示:
4.心得
一直都有自己写一个程序的想法,但是由于大三以前只学了C++,所以想写程序的冲动只是一个愿望而已。
所以这学期我每节课C#都很认真的听讲,也基本理解了C#面向对象的思想。
但是真正写程序的时候还是有一种无从下手的感觉。
而自己又不想虚度这次课设,所以趁着计组课设并不是很忙的情况下,从网上看了一个7小时设计C#程序的网课。
大概又花了将近一个星期的时间把这个程序写完。
觉得心里很有收获。
经过几次调试,程序还是很健壮的。
一开始构想了很多的功能,但是后来发现实在太多了,所以就保留了现在仅有的几个简单的功能。
基本能够满足个人对日程管理软件的需求。
未来如果有时间的话,可能还会加入将今日未完成事项以便签的形式贴在电脑桌面上等一些功能。