这是“
使用 C# 开发智能手机软件:推箱子”系列文章的第八篇。在这篇文章中,介绍推箱子的 Smartphone 版本。
昨天,根据网友“mobile”的要求, 完成了推箱子的 Smartphone 版本,可点击
这里下载。将解压缩后的 PushBoxStd.exe 文件放在 Pocket PC Phone 版本解压缩后得到 PushBox 目录下,然后再将整个 PushBox 目录一起拷贝到 Smartphone 上使用。由于 Smartphone 没有触摸屏,且支持的控件也比较少,所以该版本中取消了“菜单 -> 数据”的所有功能。但它使用的数据文件是和 Pocket PC Phone 版本的完全一样的,所以如果需要设计关卡的话,可以用 PushBox.exe 的计算机上设计,然后再拷贝到 Smartphone 上使用。
为 Pocket PC Phone 设备开发程序需要使用 Windows Mobile 6
Professional SDK Refresh,而为 Smartphone 设备开发程序需要使用 Windows Mobile 6
Standard SDK Refresh。这两个 SDK 可以在
这里下载。关于开发智能手机程序,Microsoft 网站上有一篇很好的文章:
Windows Mobile 6 中为开发人员提供的新功能。
将推箱子程序改为 Smartphone 版本,主要作了以下修改:
1. 在 Smartphone 上,主窗体的主菜单(MainMenu)的一级菜单项(MenuItem)最多只能有两个,否则运行时会抛出 NotSupportedException 异常。这应该是由于 Smartphone 没有触摸屏,两个一级菜单项刚好通过“左”、“右”软键控制。二级及以上的菜单项前面自动会加上“1”、“2”、“3”等阿拉伯数字,方便通过手机的数字键盘控制。
2. 由于 Smartphone 不支持状态栏(StatusBar)控件,所以状态信息就在主窗体的:
protected override void
OnPaint(PaintEventArgs e)
方法中调用 e.Graphics.DrawStirng() 方法直接绘制在客户区下方。
3. 由于 Smartphone 不支持按钮(Button)控件,在“选项”等对话框中的“确定”和“取消”等按钮直接用相应的一级菜单项(MenuItem)代替。
4. 数字选择(NumbericUpDown)控件使用文本框(TextBox)控件代替。
5. 跟踪条(TrackBar)控件使用文本框(TextBox)控件代替。
6. 列表框(ListBox)控件使用列表视图(ListView)控件代替。
7. 选项卡(Tabcontrol)控件找不到相应的控件代替,只好不用。
8. 由于 Smartphone 不支持触摸屏,所以取消了“菜单 -> 数据”的所有功能。因为设计关卡时光使用键盘是很难控制的。
上一篇:
使用 C#开发智能手机软件:推箱子(七)
下一篇:
使用 C#开发智能手机软件:推箱子(九)
返回目录