你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
VS.NET和.NET Framework 精简版入门(下)
 
构造工具栏

  桌面系统开发人员应该注意,Pocket PC 环境中的工具栏与标准桌面应用程序的工具栏不同。最明显的不同之处在于,Pocket PC 工具栏出现在界面的底部,而不是顶部。另外,Pocket PC 工具栏中的按钮个数很有限,这是由于 Pocket PC 的屏幕空间太小造成的。这两个特性都可以在图 12 中看到。

图 12:工具栏示例

  在应用程序中,工具栏起着两个重要的作用。首先,工具栏可以为应用程序添加一些趣味。由于 Pocket PC 应用程序的空间有限,因而外观上一般都比较平淡。工具栏及其包含的按钮会给应用程序的界面增添一些视觉“冲击力”。

  其次,工具栏简化了用户界面。常用功能可以放到工具栏上,而不必嵌套在菜单中。这样做的好处在于,访问工具栏按钮只需点击一下,而访问菜单项至少需要点击两下,如果菜单项位于子菜单中,可能还要点击三下。

  构造工具栏的过程分为三步:

  1. 添加和配置 ImageList 控件。ImageList 控件提供最终显示在菜单按钮上的图像。
  2. 添加和配置 ToolBar 控件。ToolBar 控件定义组成实际工具栏(显示给最终用户)的按钮。
  3. 编写事件过程以响应点击按钮的操作。ToolBar 控件使用一个事件过程响应工具栏上的所有按钮点击操作。
  对工具栏进行编码

  使用工具栏时,您只需要注意一个事件,那就是用户点击按钮时激活的事件,即 ButtonClick 事件。ButtonClick 事件的事件过程是由所有按钮共享的。

  使用此事件过程要注意的唯一问题是确定点击了哪个按钮。通过引用传递给过程的事件参数很容易解决这个问题。通过引用 e.Button.ImageIndex,可以确定与点击的按钮相关联的图像。此索引是您将图像保存在 ImageList 控件中时分配给图像的原始索引。列表 2 说明了处理按钮点击操作的过程。

  列表 2:处理工具栏按钮点击操作

[Visual Basic]

Private Sub tlbMain_ButtonClick(ByVal sender As System.Object, _

ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) _

Handles tlbMain.ButtonClick

Select Case e.Button.ImageIndex

Case 0

MessageBox.Show("打印...")

Case 1

MessageBox.Show("任务...")

End Select

End Sub

[Visual C#]

private void tlBMain_ButtonClick(object sender,

System.Windows.Forms.ToolBarButtonClickEventArgs e)

{

switch (e.Button.ImageIndex)

{

case 0:

MessageBox.Show("打印...");

case 1:

MessageBox.Show("任务...");

}

}

  添加代码

  现在您已经了解了构造界面的基本知识,下面我要着重介绍如何在应用程序中添加代码。与在 Visual Studio .NET IDE 中开发的任何应用程序一样,代码是通过代码窗口添加的。

  如果您以前未使用过 Visual Studio .NET,使用该环境会使您感到乐趣无穷。代码窗口提供了极其丰富的功能,从完成语句到自动列出成员,从提供参数信息到可折叠的代码区域等等,不胜枚举。

  浏览代码的最快方法是使用窗口顶部的两个组合框。使用代码窗口左上角的组合框,可以在模块中选择一个类。使用窗口右上角的组合框,可以从该类中选择一种方法。

  测试应用程序

  完成用户界面并编写好代码之后,就可以测试应用程序了。Visual Studio .NET 提供了两种测试 .NET Framework 精简版应用程序的方法:通过仿真器测试以及在设备上测试。无论使用仿真器还是设备,Visual Studio .NET 都可以处理您的应用程序和应用程序所需要的所有组件的部署,包括 .NET Framework 精简版和 SQL Server CE。

  所有这些都是在从 Visual Studio .NET 2003 中测试 .NET Framework 精简版应用程序时处理的。这时会检查目标平台,确认是否安装了 .NET Framework 精简版。如果 Visual Studio .NET 找不到 .NET Framework 精简版,它将在尝试运行应用程序之前自动复制并安装 .NET Framework 精简版。此安装过程将在以下情况下发生:您第一次使用设备或仿真器进行测试时,或者您对设备或仿真器进行强制重设时。

  如果您的应用程序使用 SQL Server CE,也会发生类似的过程。Visual Studio .NET 将检查目标平台以确认是否安装了 SQL Server CE 组件。如果 Visual Studio .NET 找不到这些组件,它将在运行应用程序之前自动复制并安装所需的 SQL Server CE 组件。

  当 Visual Studio .NET 确定应用程序所需的所有组件都存在后,会将您的应用程序复制到目标平台上并放置在项目配置中指定的目录中,然后启动。

  运行测试

  有多种方法可以运行应用程序测试:

  • 从 Visual Studio .NET 工具栏中,单击 Start(开始)按钮。
  • 从 Debug(调试)菜单中选择 Start(启动)或 Start without Debugging(启动而不调试)。
  • 按 F5 键(启动并进行调试)或 Ctrl + F5(启动而不调试)。
  在仿真器中进行测试

  仿真器在桌面计算机中提供了一种环境,可以模拟应用程序所用的设备平台的功能和操作。仿真器可以在没有设备或无法使用设备的情况下使用。

  请注意:在仿真器中进行测试有其不足之处。首先也是最主要的缺陷,仿真器是在桌面计算机上运行的,而桌面计算机上的处理资源比目标设备的处理资源多很多。这就会给您造成一种应用程序运行良好的错觉。另外,仿真器是通过键盘和鼠标输入的,而不是最终用户要使用的笔针。如果没有意识到这些不同之处,很有可能您创建的应用程序在仿真器中易于使用,而在设备上却很难使用。最后,仿真器也只提供了“类似于”设备的环境,而不是完全相同的环境。各种仿真器也不尽相同。

  仿真器的要求

  除非运行仿真器的开发计算机建立了网络连接,否则随 Visual Studio .NET 一起提供的仿真器将不能运行。如果计算机没有建立网络连接,仍然可以通过安装 Microsoft 环回网络适配器来使用仿真器。这种适配器可以模拟网络连接,并可以成功地骗过仿真器而使其运行。

在 Windows 2000 下安装环回适配器

  在 Windows 2000 下,安装 Microsoft 环回网络适配器的过程如下:

  1. 在控制面板中,单击“添加/删除硬件”。
  2. 在“添加/删除硬件向导”的“欢迎”页面上,单击“下一步”。
  3. 单击“添加/排除设备故障”,然后单击“下一步”。系统扫描即插即用设备时,安装过程将暂停。
  4. 在“选择一个硬件设备”页面上,单击“添加新设备”,然后单击“下一步”。
  5. 在“查找新硬件”页面上,单击“否,我想从列表选择硬件”,然后单击“下一步”。
  6. 在“硬件类型”页面上,单击“网卡”,然后单击“下一步”。在生成网络适配器列表时,将有短暂的延迟。
  7. 在“选择网卡”页面上,先在“制造商”列表框中单击“Microsoft”,然后在“网卡”列表框中单击“Microsoft Loopback Adapter”。单击“下一步”按钮。
  8. 在“开始硬件安装”页面上,单击“下一步”。即开始安装环回适配器。
  在 Windows 2000 下配置环回适配器

  与任何网络适配器一样,安装环回适配器只是完成了整个过程的一半,您还需要配置新的适配器。请执行以下步骤来配置环回适配器:

  1. 在“开始”菜单上单击“设置”,指向“网络和拨号连接”,然后双击“本地连接”。将显示“本地连接状态”对话框。
  2. 单击“属性”。将显示“本地连接属性”窗口。
    注意:请确保处理的是正确的连接。此对话框的“连接时使用”字段应显示“Microsoft Loopback Adapter”。
  3. 选择“Internet 协议 (TCP/IP)”,然后单击“属性”。将显示“Internet 协议”窗口。
  4. 配置 IP 地址属性。
  5. 单击“确定”关闭“Internet 协议”窗口。
  6. 单击“确定”关闭“本地连接属性”窗口。
  7. 单击“关闭”关闭“本地连接状态”窗口。
  将文件移到仿真器中

  Windows CE / Pocket PC 仿真器的早期版本提供了两种截然不同的创建仿真器环境的方法。第一代仿真器使用封闭环境,该环境无法从开发计算机上的基于 Windows 的标准文件管理工具进行访问。仿真器上所需的任何文件都必须使用 eMbedded Visual Tools 中的专用实用程序在仿真器中创建或复制到仿真器中。

  第二代仿真器提供了较开放的环境,该环境可以使用常用工具(如文件资源管理器)进行访问。该仿真器的目录结构存在于开发计算机上的子目录中。向仿真器或从仿真器复制文件只需要简单的拖放操作即可完成。

  Visual Studio .NET 中的仿真器把我们带回到了封闭的仿真器环境中。更麻烦的是,Visual Studio .NET 与 eMbedded Visual Tools 的早期版本不同,它不包括仿真器文件管理工具。这就要求您自己想出一些有创造性的解决方法。

  在仿真器环境中提供文件一般有三种方法。一种方法是通过仿真器上运行的应用程序创建文件。这种方法在此就不再赘述了。您可以使用标准的 .NET 编程技术创建文本、XML 或数据库文件。

  另外两种方法,即向项目添加文件以及从共享中复制文件,则需要在此作进一步的解释。

  向项目添加文件

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

  使用此方法的过程如下:

  1. 在 Visual Studio .NET 中打开项目。
  2. 在 Project(项目)菜单上,单击 Add Existing Item...(添加现有项...)。
  3. 在 Add Existing Item(添加现有项)对话框中,选择要复制到仿真器中的文件。
  4. 单击 Open(打开)。该文件即被添加到项目中。
  5. 在 Solution Explorer(解决方案资源管理器)窗口中,选择添加的文件。
  6. 在 Properties(属性)窗口中,验证 Build 属性是否已设置为 Content(内容)。配置为 Content(内容)的项将作为单个文件复制到目标设备中。配置为 Embedded Resource(内嵌资源)的项则是应用程序可执行文件的一部分。
  7. 建立项目。文件将随应用程序一起复制到设备中。
  从共享复制文件

  第二种方法提供了更大的灵活性,而且几乎不需要额外工作。该方法使用 Pocket PC 操作系统内置的网络文件共享功能,而这个功能随后是通过 Visual Studio .NET 中包括的仿真器提供的。

  此方法分为两个部分:在开发计算机上设置共享,然后通过仿真器的 File Explorer(文件资源管理器)访问共享。

  设置共享需要两个配置。首先,必须配置计算机以启用共享。其次,必须配置要共享的文件夹。

  在运行 Windows 2000 的开发计算机上启用共享
  1. 在“开始”菜单上单击“设置”,指向“网络和拨号连接”,然后双击“本地连接”。
  2. 在“本地连接状态”窗口中,单击“属性”。
  3. 在“本地连接属性”窗口中,启用“Microsoft 网络的文件和打印机共享”。
  4. 单击“确定”关闭“本地连接属性”窗口。
  5. 单击“关闭”关闭“本地连接状态”窗口。

  此时,您已经完成对开发计算机的配置,可以进行文件共享了。下一步,即共享要复制到仿真器中的文件所在的文件夹。

  在 Windows 2000 下共享文件夹
  1. 启动 File Explorer(文件资源管理器)。
  2. 在 File Explorer(文件资源管理器)中,在要共享的文件夹上单击鼠标右键,然后单击 Properties(属性)。
  3. 在 Properties(属性)窗口中,单击 Sharing(共享)选项卡。
  4. 在 Sharing(共享)选项卡上,选择共享文件夹,并提供共享名称。
  5. 单击 OK(确定)关闭 Properties(属性)窗口。

  现在您已经完成对开发计算机的配置,可以复制文件了。首先需要将所有要复制到仿真器中的文件放置到共享文件夹中。然后执行以下步骤,将文件移到仿真器中:

  1. 启动仿真器。
  2. 从仿真器中启动 File Explorer(文件资源管理器)。
  3. 在 File Explorer(文件资源管理器)菜单上,单击 Open(打开)。
  4. 屏幕上将显示 Open(打开)对话框。按照 \\mycomputer\myshare 格式指定开发计算机的名称以及您创建的共享名称。
  5. 点击 OK(确定)。

    根据开发计算机上的安全设置,计算机可能会在允许访问共享之前提示您输入用户名和密码。

  此时,您已经可以向/从开发计算机和仿真器上的共享中复制文件了。

注意:使用设备时,用这些方法复制文件的效果是一样的,但存在一个已知问题。默认情况下,Pocket PC 设备具有设备名“Pocket PC”。除非更改此名称,否则将不能访问共享。
  在设备上进行测试

  在设备上进行测试,可以使您获得应用程序运行情况的第一手经验。使用 Visual Studio .NET,可以在通过 USB、串行端口或以太网连接到开发计算机的设备上进行测试。

注意:请使用以太网将设备连接到开发计算机。这是目前最快、最简单的测试和调试方法。
  部署到设备

  您可以选择使用以下任一方法部署到设备上:

  • 在 Visual Studio .NET 工具栏上,从 Deployment Device(部署设备)组合框中选择 Pocket PC Device(Pocket PC 设备)。
  • 在 Project Properties(项目属性)对话框的 Device(设备)页面下,从 Deployment Device(部署设备)组合框中选择 Pocket PC Device(Pocket PC 设备)。
  • 在 Property(属性)窗口中,将项目的 Deployment Device(部署设备)属性设置为 Pocket PC Device(Pocket PC 设备)。

  调试应用程序

  Visual Studio .NET IDE 提供的调试环境是非常可靠的。使用该调试环境,您可以暂停应用程序、查看其内部工作情况、修改代码、检查值并有计划地单步执行应用程序。

  调试功能中最重要的部分是 Visual Studio .NET IDE 中的 Debug(调试)菜单。在此菜单中,您可以启动和停止调试会话、设置断点并在调试方式下浏览应用程序。

注意:断点是指应用程序中遇到它时要暂停或中断执行的一行代码。

  Visual Studio .NET 使您能够方便地从开发计算机上远程调试运行在设备或仿真器上的应用程序。可以使用 Command(命令)窗口输入语句,查询并设置变量,执行代码行及其他类似的任务。

注意:为了优化调试环境,请使用以太网将设备连接到计算机。

  部署应用程序

  安装 .NET Framework 精简版应用程序的方法与其他 Windows 应用程序使用的方法类似。应用程序的安装通常使用 Cabinet 文件。Cabinet 文件更常用的名称是“CAB”文件,该名称源于其 .cab 文件扩展名。CAB 文件可用于两个目的:1) 压缩并存储文件以便轻松地发布;2) 确保应用程序需要的所有文件和设置都得到了正确处理。

  要求

  使用 Visual Studio .NET 建立的应用程序要求目标设备上有 .NET Framework 精简版。另外,如果应用程序使用 SQL Server CE,您也需要安装 SQL Server CE 组件。

  您的安装例程需要考虑到所有这些内容。可能需要包括多个 CAB 文件:一个用于应用程序,一个用于 .NET Framework 精简版和 SQL Server CE CAB。

  创建 CAB 文件

  为应用程序创建 CAB 文件的最简单方法是让 Visual Studio .NET 完成所有的工作。Visual Studio .NET 提供的功能之一是 IDE 中的一个用于生成 CAB 文件的菜单项。

  为应用程序创建 CAB 文件

  1. 在 Visual Studio .NET 中打开应用程序项目。
  2. 从 Solutions Configuration(解决方案配置)下拉组合框中选择 Release(发行),如图 13 所示。

     

    图 13:设置解决方案配置

  3. 在 Build(生成)菜单上,单击 Build CAB File(生成 CAB 文件),如图 14 所示。
  4. 在创建应用程序的过程中,将显示几个命令窗口。当这些窗口都从屏幕上消失后,CAB 文件即创建完成。
    注意:不会显示任何告诉您 CAB 文件已生成的消息或确认。当最后一个命令窗口关闭后,将返回到 Visual Studio .NET 界面。

     

    图 14:Build CAB File(生成 CAB 文件)菜单项

  CAB 文件输出

  此 CAB 生成过程的输出将保存在应用程序目录下的一个目录中。您可以在子目录 \bin\release 下找到每个 CAB 文件。图 15 显示了此层次结构的一个示例。

图 15:通过 Visual Studio .NET 生成的 CAB 文件的位置

  在图 15 所示的示例中,生成了几个 CAB,每个目标平台处理器类型一个 CAB 文件。从这个图形中可以看到四个 CAB:StrongArm、MIPS、Sb 和 X86 处理器类型各一个。这是因为开发设备是 Pocket PC,它支持这四种处理器类型。

  此时,可以将相应的 CAB 文件复制到目标设备上,打开设备上的 File Explorer(文件资源管理器)并点击 CAB 文件,以便安装应用程序。

注意:请记住,为了确保应用程序能够运行,您需要安装 .NET Framework 精简版;如果需要,还要安装 SQL Server CE。

  创建桌面安装程序

  如果要从桌面计算机(通过插接托架连接到设备)上安装应用程序,那么安装过程会复杂些。在这种情况下,需要两个安装程序,一个用于台式计算机,一个用于设备。设备安装程序是 CAB 文件。桌面安装程序是一个可执行程序,有两个功能。首先,将 CAB 文件复制到桌面计算机上。其次,启动应用程序管理器 (CeAppMgr.exe)。然后,应用程序管理器负责将 CAB 文件复制到设备上,以及启动安装。

  应用程序管理器处理设备应用程序的添加和删除操作,以及从启动安装的计算机中删除应用程序文件。使用 .INI 文件为应用程序管理器提供安装说明。

  桌面计算机的安装程序可由任何可以将 CAB 文件复制到计算机,然后启动应用程序管理器的应用程序创建。InstallShield(英文)和 Wise(英文)这两家公司提供了包含此功能的商业级安装开发软件包。

  Spb Software House(英文)提供了名为 EZSetup 的免费安装产品。虽然此应用程序不象 InstallShield 和 Wise 那样强大,但对于大多数安装过程已经足够。

注意:如果要自己编写桌面计算机的安装程序,则需要找到应用程序管理器在安装计算机上的位置。应用程序管理器的全名和完整路径存储在 HKLM\software\Microsoft\Windows\CurrentVersion\App Paths\CEAppMgr.exe 注册表值中。

  小结

  .NET Framework 精简版为开发人员提供了一种创建可靠移动应用程序的强大工具。它使您能够将现有的 .NET 技术应用到 Pocket PC 和 Windows CE .NET 设备应用程序的创建过程中。

  .NET Framework 精简版是 .NET Framework 的子集。虽然其外观和功能与 .NET Framework 相似,但学习如何在 .NET Framework 精简版下编程还需要花费一定的时间和精力。您需要了解 Windows CE 设备的局限性,还要理解与创建移动应用程序相关的要求。

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089