使用C# 开发Pocket PC 应用程序 |
| 作者:microsoft 来源:microsoft.com 发布时间:2005-12-21 17:08:32 |
|
摘要: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 的小屏幕上,这种窗口只会使屏幕变得混乱,而没有多大用处。 将 |
| [] [返回上一页] [打 印] |
|
文章评论 |


