银河

SKYIV STUDIO

  博客园 :: 首页 :: 博问 :: 闪存 :: :: :: 订阅 订阅 :: 管理 ::
    这是“使用 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#开发智能手机软件:推箱子(九)
返回目录
posted on 2007-08-24 15:08  银河  阅读(3567)  评论(1编辑  收藏  举报