银河

SKYIV STUDIO

  博客园 :: 首页 :: 博问 :: 闪存 :: :: :: 订阅 订阅 :: 管理 ::
  268 随笔 :: 2 文章 :: 2616 评论 :: 140万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
    这是“使用 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   银河  阅读(3597)  评论(1编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示