摘要:John Kennedy 将向您介绍如何使用 Visual Studio .NET 和 .NET Framework 向 Pocket PC 应用程序中添加菜单和控件,以帮助您进一步掌握 C# 技术。

应该说,从 C/C++ 发展到 C#,进而到 Microsoft .NET Framework,对于习惯使用 C/C++ 的程序员来说是一次小小的打击。换句话说,C# 编程将带来翻天覆地的变化,不仅要完成范例转换,还要完成程序模型的重建以及其他各种令人难以捉摸的词组转变。但是,随着新一年的到来,不正是学习新编程语言的好时机吗?

我现在实在是抽不出时间教您如何使用 C# 进行编程。至于您打算如何学习这种语言完全取决于您的个人习惯。例如,我相信有些人一定喜欢那种纯理论式的学习方法,手捧一本看似优秀实则枯燥乏味的教科书,书中尽是些晦涩难懂的语言示例。我并不喜欢这种方法。我喜欢通过编写应用程序,并将编译器错误消息作为指南来学习语言。如果您也喜欢这种方法,建议您选择 Mickey Williams 撰写的《Microsoft Visual C# .NET》(Microsoft Press 出版,ISBN 0-7356-1290-0)。尽管这部著作不是针对 Pocket PC 撰写的,但其中包含了优秀的 C# 语言速成课程,以及 .NET Framework 主要功能的使用方法。您会发现其中的许多内容都与 Pocket PC 有关,这将成为您学习的良好开端。学习 C# 不一定象您想象的那么困难,通过该书中的具体示例,您很快便会掌握如何将各种功能组合成应用程序。

菜单的用途

当您完成 C# 编程的“Hello world”阶段后,最好再添加一些用户交互。这样您就可以快速编写条件代码,以便执行多个任务。此外,快速掌握 Pocket PC Framework 实现中提供的许多用户界面控件也是十分必要的。毕竟,用户界面是用户最常见到的。

对程序员来说,菜单也很有用。我喜欢在开发时保留一个菜单,用于启动当前正在测试的代码。可使用菜单作为调用某些程序内部工作的快捷方式。一切运行正常后,我可以删除此菜单(如果更巧妙一点,可使用条件代码使此菜单仅在“调试”模式出现)。

如果您能够访问 .NET Framework 精简版(如果无法访问,您很快便会看到下一版本的 Visual Studio® .NET),可以使用新的项目向导,创建默认的 C# 智能设备可编程 PC 应用程序来分享其中的乐趣。然后我们将添加一个菜单 - 只需使用 Visual Studio IDE 即可轻松实现。事实上,最新版本的 Visual Studio 提供了一个更新的设计器,要创建菜单,只需将菜单对象从工具箱拖放到窗体上即可。然后,只需输入要显示的文本。

图 1:添加菜单就象系鞋带一样简单。只需拖放,键入,然后单击。真是太容易了!

要输入一些实际代码,只需双击菜单项本身即可。随即进入窗体的代码视图中,其中显示了菜单选项将执行的功能。在以下示例中,我添加了一行使程序退出的代码。尽管这样做不符合应用程序的 Pocket PC 模型(该模型不退出应用程序,而是隐藏它,然后在需要时再显示),但我认为在开发时能够终止应用程序是很有用的。如果稍有不慎,则每次将新代码下载到设备(模拟设备或实际设备)时,现有代码都会妨碍新代码的运行。因此,用一种快速方法关闭正在运行的程序是非常方便的。

    static void Main(){Application.Run(new Form1());}private voic menuItem2_Click(object sender, System.EventArgs e){Application.Exit();}
}

添加简单控件

编写自己的应用程序时,很快就需要添加一些供用户使用的控件。控件是物理开关和按钮的软件实现。在考虑添加控件时,您会觉得我们花大量时间生成开关和按钮的虚拟表示形式,是件很有意思的事情。以单选按钮为例,它是一种外观类似小圆坑的互斥控件,此类控件以 20 世纪 70 年代的汽车收音机(上面安装了粗大的机械开关,用于选择无线电台,现在已经完全淘汰)为模型,至今仍用于软件中。

不管怎样,我介绍了太多的软件哲学(我想这是深受《Microserfs》的作者 Douglas Copeland 和《The Design of Everyday Things》的作者 Donald A. Norman 的影响,建议您也读读这两本书)。下面让我们来谈谈技术,.NET Framework 包含一个抽象的 Control 类,从中可以派生出各种 UI 控件。按钮、列表框、组合框、单选按钮、复选框等,均从此类派生。甚至窗体本身(即作为应用程序基础的窗口),也是从 Control 类派生的。

您关心这些内容吗?很可能并不关心,因为您只需再次从 UI 设计器中执行拖放操作,将所需的控件放入主窗体中即可。当然,在界面设计以外,您还需要进行一些编程工作,这就是我们下面要介绍的内容。

需要一个漂亮的窗体吗?

程序很少只以一个窗口或窗体的形式出现。大多数程序会弹出对话框、状态框、消息框和其他一些供用户查看的信息显示。即使在空间有限的 Pocket PC 屏幕上,也有必要向其中添加多个信息“层”。

在应用程序中添加新窗体很简单。从 Visual Studio .NET IDE 中,选择 Project(项目),单击右键,然后选择 Add(添加)和 Add Windows Form(添加 Windows 窗体)。您将看到下面显示的窗口,然后只需选择一个提示性的名称即可。

图 2:要在项目中添加一个新窗体吗?这很简单。使用此窗体在现有 Windows 窗体中添加一个新的派生窗体。

这个新窗体将作为项目中的另一个窗体。当然,每个窗体都可以按照设计格式或代码格式查看。默认情况下,新窗体从不被实例化。启动应用程序时,实际只调用并显示默认窗体。换句话说,如果您在程序中添加了新的窗体,则可以自行决定是否打开它。如果不打开,它将只作为一种资源存在,没有人会看见它。

下面是一种打开新窗体的方法。将按钮拖到第一个窗体(默认名称为 Form1),双击该按钮,创建在用户单击它时调用的代码。现在,请添加以下代码,调用并显示新窗体:

MyNewForm mynewformForm = new MyNewForm ();mynewformForm.ShowDialog();

我在这里使用的是 ShowDialog() 方法,但如果您要创建无模式窗口(在 Pocket PC 编程中并非最佳做法),您也可以使用 Show() 方法。无模式窗口以某种方式悬浮,在应用程序继续运行之前无需关闭该窗口。工具选项板就是一个很好的示例。但在 Pocket PC 的小屏幕上,这种窗口只会使屏幕变得混乱,而没有多大用处。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126767/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10294527/viewspace-126767/

使用C# 开发Pocket PC 应用程序(转)相关推荐

  1. 开发和部署Pocket Pc 安装程序

    开发和部署Pocket Pc 安装程序 原作者: Ralph Arvesen Vertigo Software, Inc. 发表于2003年3月MSDN 翻译者:liu_sir 应用: Microso ...

  2. 制作WinCE平台下Pocket PC安装程序

    看论坛上经常有人问,如何从桌面系统下安装WinCE平台下Pocket PC应用程序.特此把以前参考VCHelp上雷神的安装制作写的一个Win32 SDK安装WinCE应用系统的程序,放了上来.希望能为 ...

  3. 基于 Windows Mobile 的 Pocket PC 和 Smartphone 的开发工具简介

    Microsoft Corporation 2003 年 8 月 适用于:     Microsoft® eMbedded Visual Tools 3.0 - 2002 Edition     Mi ...

  4. 基于Windows Mobile 2003 的 Pocket PC 为开发人员提供的新功能(转)

    对于 Pocket PC 用户和开发人员来说,基于 Microsoft® Windows Mobile® 2003 的 Pocket PC 是一个非常重要的里程碑.Pocket PC 2003 基于新 ...

  5. 开发 Windows Mobile 应用程序: FAQ

    常见问题 问:什么是 Windows Mobile? 答:Windows Mobile 是 Microsoft 用于 Pocket PC 和 Smartphone 的软件平台.Windows Mobi ...

  6. 【历史上的今天】4 月 19 日:摩尔定律被提出;微软发布 Pocket PC;第一个 FORTRAN 程序开始运行

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 4 月 19 日,在 1918 年的今天,克利福德·贝里(Clifford Berry)出生.他是世 ...

  7. Windows Mobile智能手机今日插件编程开发初探(使用C++, vs2008, Pocket PC 5.0内核)

    我很久以前写的一篇文章,现在转移到这里. 前天突发灵感认为如果能做一个在手机桌面上的每日问候程序一定会很有意思,于是开始了Pocket PC 今日插件(today plugin)编程的学习和研究. 受 ...

  8. 用.net 2003开发Windows CE应用,解决与pocket pc通讯的问题

    用.net 2003作Windows CE应用时,碰到一个问题.工程编译通过,但在部署到pocket pc时出现如下的错误: ------ 已启动部署: 项目: PDA, 配置: Debug Pock ...

  9. 开发Foxmail与Pocket PC的同步软件系列之一--FreeMail

    一.前记 本人是mail-list和news-group狂,买了台HP-1940的PDA想在上面处理邮件. 由于在PC端上用了四年foxmail,对M$的庞大且多bug的outlook并不感冒,而Po ...

  10. Pocket pc模拟器与PC机传输文件的方法

    将文件移到仿真器中的最简单方法是将它们包括为项目的一部分.使用这种方法的一个优点是,当在仿真器上执行强制重设时,只需重建项目即可恢复测试. 使用此方法的过程如下: 在 Visual Studio .N ...

最新文章

  1. 用C语言实现Ping程序功能
  2. struts 普通的action
  3. HDU 2001 计算两点间的距离
  4. 链路追踪技术的应用及实践
  5. php生成链接列表,根据URL链接和抛文本生成链接a标签的PHP函数
  6. Mac双系统中删除Windows系统教程
  7. ADO.NET编程(4)根据条件查询DataTable的值
  8. 【原】对txt文本进行数据读取
  9. LVGL v8.1.0 lv_table 内存泄漏问题
  10. craps 双骰子源码c语言,双骰子(Craps)规则及其玩法二(转)
  11. 怎么快速修改图片的像素?
  12. 《Offer一箩筐》一份高质量「简历」撰写指南,望打扰!!
  13. android 怎么改变字体颜色,安卓系统字体颜色修改教程
  14. 【c项目】网吧管理系统的设计和实现
  15. 计算机程序前端和后端指什么,什么是前端和后端
  16. oracle ppt讲义,oracle课件.ppt
  17. C语言_自定义数据类型
  18. 解决 Arch/Manjaro Linux AUR 的 MindMaster 无法输入中文和登录的问题
  19. 【PCB拼版重新录制】使用AD20+华秋DFM进行快速PCB拼版:V割拼版,添加工艺边、Mark点
  20. goproxy实现windows的mysql的内网穿透

热门文章

  1. CLM陆面过程模式实践技术应用
  2. Paddle飞桨动态图教程——轻量级人像语义分割BiSeNet V2(算法原理、训练、部署,含完整代码和数据)
  3. 安装和配置fedora19要做的那些事,超值经验
  4. 新唐NUC980使用记录:自制开发板(基于NUC980DK61YC)
  5. 银河帝国----基地与帝国
  6. Ubuntu14.04安装LSD-SLAM
  7. android积分墙sdk,乐点 Android SDK 积分墙开发者文档
  8. 网络硬件三剑客的集线器(Hub)、交换机(Switch)与路由器(Router)
  9. Kotlin 元编程(注解,反射)
  10. 表结构 shopnc