掌握C#

掌握 C#

2010-03-29 18:03:52 阅读7 评论0 字号:

掌握 C - 一萧烟雨 - 一萧烟雨的博客 ©2010 Microsoft Corporation. All rights reserved.

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

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

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

本页内容







菜单的用途

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

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

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

road01082003-fig01.gif

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

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

添加简单控件

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

不管怎样,我介绍了太多的软件哲学(我想这是深受《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 窗体)。您将看到下面显示的窗口,然后只需选择一个提示性的名称即可。

road01082003-fig02.gif

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

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

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

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

将值传递到其他窗体中的控件

在实际操作(而不是那些深奥的代码示例)中,您很可能要向新打开的窗体中发送信息,然后获得一些响应信息。

假设您要求用户在文本框中输入字符串。您可能需要预先加载一个包含某些现有文本的文本框,允许用户对其进行编辑,然后检索新的文本。

让我们演示一下如何通过更改文本标签来设置控件值。事件序列如下:

  1. 创建包含控件(但不显示此控件)的窗体的新实例。

  2. 更改与控件文本标签相对应的属性。

  3. 显示窗体。

假设我们已经在新窗体中添加了 label1 文本标签,我们可以使用如下代码完成以上所有操作:

MyNewForm mynewformForm = new MyNewForm (); mynewformForm.label1.Text = "Hello World"; mynewformForm.ShowDialog(); 

{wy}要记住的是,默认情况下 label1 属性是私有属性,因此,主窗体中的代码将看不到它。为解决此问题,我使用 Properties(属性)对话框将其设置为 Public,结果运行良好。

road01082003-fig03.gif

注意:窗体的大小并不重要,因为 Pocket PC 总是将其扩展到整个屏幕。

如果要创建一个对话框形式的新窗体,还应该为用户提供关闭它的方法,例如一个附加了以下代码的新按钮:

private void button1_Click(object sender, System.EventArgs e) { this.Close(); } 

除非出现错误,否则新窗体的右上角将出现一个关闭按钮,用户单击它便可关闭窗体。

想要加一些选项卡吗?

我要讨论的是那些小选项卡,使用它们可以访问一个对话框中存储的多个页面。如果应用程序有许多需要用户完成的设置,这些选项卡会非常有用。

在您“大肆”使用选项卡之前,我想请您先考虑一下为什么程序会有如此多的选项。要知道 Pocket PC 可不是台式计算机,它是一种便携式电脑,我们真的需要在上面放置如此多的选项、控件和开关吗?

如果您确信需要所有这些控件(别担心,我相信您确实需要),那么使用选项卡控件可能比较合适。看到添加选项卡控件是如此简单时,我感到非常高兴,因为所有复杂工作都不需要您亲自去做。就象将一组单独的窗体合并成一个窗体一样。

以下是在程序中添加选项卡控件的步骤。您可以将新控件拖至添加的每个新选项卡中,使其便于组织和操作。

  • 将选项卡控件拖到窗体的上方。看到了吗?我曾告诉过您这很简单。

  • 在 Properties(属性)窗口的 TabPages 上单击,以显示 Tab 控件的各种设置。

  • 使用 TabPage Collection Editor(选项卡集合编辑器)添加并重命名新的选项卡。每个选项卡都类似一个空白窗体,可以向其中添加控件。

  • 将每个选项卡视为窗体,并将控件放在合适的位置。Pocket PC 将自动显示所有这些选项卡和控件。这真是再简单不过了。

road01082003-fig04thumb.gif
4:TabPage Collection Editor(选项卡集合编辑器)有一个长标题和许多设置,但是使用起来十分简单。

road01082003-fig05.gif

一切尽在掌握之中

希望您已经了解,在 Pocket PC 应用程序中添加一些 UI 控件其实很简单。我正在忙着建立一个数据库,其中很多是 Pocket PC 开发人员使用 C# 实现时遇到的难题,几个月之后,我将向您展示这一成果。当您遇到问题时,可随时写信给我,我将向 Microsoft 的专家组请教这些问题。总之,我们将尽量使您平稳过渡到 C#。



John Kennedy 白天是 Visual C++ 组的技术撰稿人/程序员;晚上则过着 Pocket PC 开发人员的神秘生活。
Larry Roof 是 [ http://www.larryroof.com/default.aspx ] (英文)的xxx,该公司专门从事移动项目咨询以及 eMbedded Visual Basic、智能设备编程和 SQL Server CE 的培训。

<#--{zx1}日志--> <#--推荐日志--> <#--引用记录--> <#--相关日志--> <#--推荐日志--> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构-->
郑重声明:资讯 【掌握C#】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——