65.9K
CodeProject 正在变化。 阅读更多。
Home

CooksMate

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.32/5 (8投票s)

2007年12月30日

GPL3

2分钟阅读

viewsIcon

59901

downloadIcon

1074

一个简单的程序, 用于帮助确定烤肉晚餐的时间

snapshot7.png

snapshot8.png

snapshot9.png

引言

编写此应用程序是为了让我能够无压力地烹饪烤肉晚餐,并确保我能正确地安排每种不同食物的开始时间。

代码

class diagram

UI 从 MainForm 类开始。此类是应用程序的主窗口,包含一个 MainMenuStatusStrip 和一个 DateTimePicker,用于选择提供晚餐的时间。它还包含一个 ComboBox,用于选择不同的菜单以供查看。主 DataGrid 包含制作膳食所需的步骤列表。

我使用了两个 Timer 类,一个用于更新当前时间显示,另一个用于计算动作的截止时间(尚未运行)。

AppVersion 对象具有返回应用程序当前版本号(包括其 alpha/beta 状态)的函数。

common project class diagram

此项目包含我在所有项目中使用的类。

它有一个 CommonFunctions 类,其中包含一些获取有关环境信息的通用函数。

PreferencesXml 对象允许将应用程序首选项存储在 XML 文件中,并在启动应用程序时重新加载。

FontHandler 对象仍在开发中,但它允许我从嵌入的资源文件中加载字体并在 UI 中使用它们。

关注点

Mono 1.2.2.1(我在我的 eeePc 上运行的版本)不支持 StatusBar.Name 属性。我必须在编译时注释掉这些属性,以便它可以在我的 eeePc 上运行。

我还需要更改 MainMenu 的构造方式,从...

this.mainMenu1 = new System.Windows.Forms.MainMenu(this.components); 

... 改为...

this.mainMenu1 = new System.Windows.Forms.MainMenu();

... 因为 mono 1.2.2.1 会抛出 missing method 异常。

这些是我在我的 eeePc 上运行它时必须做的唯二改动。如果我能在 eee 上安装 mono 1.2.6,那么我应该不必更改这两个项目,因为它在我的 Windows 盒子上使用 mono 1.2.6 执行该应用程序时,这两个项目将保持不变。

待办事项

  1. 警报:当一个操作到期时发出警报

历史

  • 1.0.0 (alpha) (2007 年 12 月 28 日)
    • 首次公开发布
      目前数据实际上是硬编码的,但在下一个版本中,我将使其从 XML 文件中加载
  • 1.0.1 (alpha) (2008 年 1 月 10 日)
    • 添加了将食谱保存到 XML 文件的功能
      尚未从 XML 加载
  • 1.1.0 (alpha) (2008 年 1 月 12 日)
    • 一些漂亮的图片!!
      下一个操作现在有效,它显示图片来描绘你应该有多么恐慌!!
  • 1.2.0 (beta) (2008 年 1 月 20 日)
    • 修复了在表格排序时将操作标记为“完成”的问题
    • 修复了当前时间显示
  • 1.3.0 (beta) (2008 年 1 月 20 日)
    • 现在可以读取包含食谱的 XML 文件
© . All rights reserved.