1、可视化程序设计大作业班 级:学 号:姓 名:指导教师:计算机与通信工程学院2018.0121. 任 务 描 述课 题 : 日 程 管 理 系 统由 于 题 目 没 有 提 及 要 实 现 的 具 体 的 功 能 , 所 以 在 这 里 提 前 声 明 一 下 自 己 写的 管 理 系 统 实 现 的 功 能 。1.1 日 程 管 理 功 能1录入功能:用户进入此系统,可以添加每日日程事务,对日程事务进行修改、查询、删除等。2提醒功能:日程管理系统会根据系统当前时间对用户添加的日程事务进行提醒,人性化方面的是用户可以根据自己的兴趣爱好自主选择提醒的音乐。3设置功能:用户可以根据自己的喜好不同,个
2、性化设置日程提醒时间、日程提醒次数、提醒音乐。4最小化功能:系统可以最小化为系统托盘,不影响用户日常操作。5退出功能:结束并关闭系统。1.2 接 入 数 据 库 Access 保 存 数 据 。编 写 此 程 序 的 初 衷 并 不 仅 仅 是 为 了 C#大 作 业 , 而 是 心 底 确 实 有 想 写 一 个 属于 自 己 的 程 序 。 由 于 只 考 虑 到 自 己 使 用 , 所 以 只 用 了 微 软 的 Access 本 地 数 据 库来 保 存 程 序 运 行 产 生 的 数 据 。本 系 统 只 包 含 一 个 数 据 表 , 详 细 信 息 如 下 :表 1-2 事 务
3、数 据 表字 段 名 称 数 据 类 型 说 明ID 自 动 编 号 主 键D_SOLAR_CALENDAR 日 期 /时 间 日 程 事 务 对 应 的 阳 历D_LUNAR_CALENDAR 日 期 /时 间 日 程 事 务 对 应 的 阴 历D_CONTENT 文 本 日 程 事 务 内 容 。D_REMIND_MUSIC_PATH 文 本 日 程 事 务 默 认 提 示 音 乐D_LEVEL 数 字 日 程 事 务 等 级 暂 时 分 为五 级 , 0 代 表 特 急 , 1 代 表 紧急 , 默 认 为 2(中 级 ), 3 代 表缓 慢 , 4 代 表 过 期 。3D_REMIND
4、_FLAG 数 字 提 醒 标 志 , 0 代 表 已 经提 醒 , 1 代 表 没 有 提 醒 , 默认 1。2. 成 员 负 责 部 分 与 分 数 分 配想要源码请转到 http:/ 下载3.正 文3.1 概述此程序是在 Win10 下 Visual Studio 2010 版本下,联合微软的 Access 数据库开发的日程管理系统。所以使用前应安装这两个软件。其主要功能模块及其子功能如下图所示:个人日程管理程序当日事务 系统设置管理事务当日已处理事务 当日未处理事务取消当日事务提醒修改当日事务 删除当日事务 编辑事务内容 设置提醒音乐增加新事务设置阳历提醒日期 设置农历提醒日期 设置是
5、否再次提醒 设置默认提醒闹钟 设置提醒间隔时长设置提醒次数图 1 程序功能及子功能3.2 界 面 设 计 及 其 代 码 展 示3.2.1 当 日 事 务 界 面 : 此 界 面 包 含 当 日 待 处 理 事 务 和 当 日 已 处 理 事 务 两 个 模 块 。每 个 模 块 都 包 括 事 务 内 容 、 紧 急 程 度 、 阳 历 、 阴 历 、 处 理 状 态 、 提 示 音 乐 等 详细 信 息 。 同 时 , 模 块 中 都 添 加 了 一 些 方 便 操 作 的 按 钮 , 便 于 用 户 对 事 务 进 行 操作 处 理 。4图 2 当 日 事 务 页 面1.初 始 化 窗
6、体 图 标 与 皮 肤 。public static void InitForm(Form frmUI, SkinUI dailySkinUI)MemoryStream mStream = new MemoryStream(Properties.Resources.dailySkin);dailySkinUI.SkinSteam = mStream;frmUI.Icon = Properties.Resources.Icon;public static void InitForm(Form frmUI)frmUI.Icon = Properties.Resources.Icon;2.应 用 程
7、 序 主 入 口 点 。static void Main()/获 取 项 目 名 称 , 分 配 计 算 机 资 源Process processes = Process.GetProcessesByName(“daily“);5if (processes != null ShowWindowAsync(processes0.MainWindowHandle, 1);SetForegroundWindow(processes0.MainWindowHandle);elseGlobal.GlobalVariable.InitSysParameter();Application.EnableVis
8、ualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new UI.FrmMainThread();/运 行 FrmMainThread.cs3.2.2. 管理事务界面:此界面包含所有日程事务和新增日程事务两个模块。图 3 管理事务页面6点击增加按钮,如果选定事务时间与当前系统时间相同,跳转到新增事务窗口。个人日程的增加日程流程图如下图 1-4开始输入信息保存校验更新数据库个人日程页面显示结束YYNN图 4 个人日程的增加日程流程图1.取消提醒。private void btnCance
9、lToday_Click(object sender, EventArgs e)if (dgvToday.SelectedRows.Count 0 if (BusAdminDaily.UpdateDaliyState(selectedRows0.Cells0.Value.ToString(), “0“)selectedRows0.Cells“colRemindFlag_Today“.Value = “已处理“;7DataRow dr = (DataRowView)selectedRows0.DataBoundItem).Row;_dsDidToday.Tables0.Rows.Add(dr.I
10、temArray);dgvDidToday.CurrentCell = dgvDidToday.RowsdgvDidToday.Rows.Count - 1.Cells1;if (_dailyEntity != null dgvToday.Rows.Remove(selectedRows0);MessageHandle.MessageInfo(“恭喜,取消成功!“, “提示信息“);2.修改事务。private void btnModifyToday_Click(object sender, EventArgs e)if (dgvToday.SelectedRows.Count 0)DataG
11、ridViewSelectedRowCollection selectedRows = dgvToday.SelectedRows;mFromWhere = 1;ModifyDaily(selectedRows);3.删除事务。private void btnDelToday_Click(object sender, EventArgs e)if (dgvToday.SelectedRows.Count 0 if (BusAdminDaily.DeleteDailyById(selectedRows0.Cells0.Value.ToString()if (_dailyEntity != nul
12、l ClearForm();dgvToday.Rows.Remove(selectedRows0);MessageHandle.MessageInfo(“恭喜,删除成功!“, “提示信息“);4.清空已处理。private void btnClearDidToday_Click(object sender, EventArgs e)8if (dgvDidToday.SelectedRows.Count 0 _dailyEntity = null;break;_dsDidToday.Tables0.Rows.Clear();MessageHandle.MessageInfo(“恭喜,清空成功!“
13、, “提示信息“);5.清除所有。private void btnDeleteAll_All_Click(object sender, EventArgs e)if (dgvAll.Rows.Count 0)bool bHasToDo = false;if (dgvAll.Rows0.Cells5.Value.ToString() = “未处理 “)bHasToDo = true;if (bHasToDo if (_dailyEntity != null)foreach (DataGridViewRow dataRow in dgvAll.Rows)if (_dailyEntity.ID =
14、dataRow.Cells0.Value.ToString()ClearForm();9_dailyEntity = null;break;_dsAll.Tables0.Rows.Clear();MessageHandle.MessageInfo(“恭喜,删除成功!“, “提示信息“);else if (!bHasToDo if (_dailyEntity != null)foreach (DataGridViewRow dataRow in dgvAll.Rows)if (_dailyEntity.ID = dataRow.Cells0.Value.ToString()ClearForm()
15、;_dailyEntity = null;break;_dsAll.Tables0.Rows.Clear();MessageHandle.MessageInfo(“恭喜,删除成功!“, “提示信息“);3.2.3 关于系统界面:简单介绍系统及作者信息。此处有个图,我删了。自己补上图 5 系统信息界面 代码展示: private void 关于系统 ToolStripMenuItem_Click(object sender, EventArgs e)tbcContainer.SelectedTab = tabPageAbout;这个界面拖了一个名为 tabPageAbout 的 lab 控件,点
16、击关于系统按钮就会显 tabPageAbout的内容。103.2.4 系统设置界面:默认设置图 6 系统设置界面(1)自动运行设置A.自动运行,此项的标示数据是从 ini 文件进行读取.B.如果选中“自动运行”项在菜单项要有一个“”标示,并把该系统的文件写到注册表自动启动项中。C.如果已有“”标示再次点击时,应更改 ini 文件,同时删除注册表中自动启动项目中的内容。(2)设置播放音乐目录A.当提醒的消息框弹出时,播放指定的音乐,这个音乐设定在 ini 文件中,如原来有播放的音乐,打开目录对话框时要提示原来的音乐文件。 B.音乐文件格式首选 MP3,也可以是其它音乐格式。 C.当按“打开”按钮后更新 ini 文件。