在应用程序中,工具栏起着两个重要的作用。首先,工具栏可以为应用程序添加一些趣味。由于 Pocket PC 应用程序的空间有限,因而外观上一般都比较平淡。工具栏及其包含的按钮会给应用程序的界面增添一些视觉“冲击力”。
其次,工具栏简化了用户界面。常用功能可以放到工具栏上,而不必嵌套在菜单中。这样做的好处在于,访问工具栏按钮只需点击一下,而访问菜单项至少需要点击两下,如果菜单项位于子菜单中,可能还要点击三下。
构造工具栏的过程分为三步:
1.添加和配置 ImageList 控件。ImageList 控件提供最终显示在菜单按钮上的图像。
2.添加和配置 ToolBar 控件。ToolBar 控件定义组成实际工具栏(显示给最终用户)的按钮。
3.编写事件过程以响应点击按钮的操作。ToolBar 控件使用一个事件过程响应工具栏上的所有按钮点击操作。
对工具栏进行编码
使用工具栏时,您只需要注意一个事件,那就是用户点击按钮时激活的事件,即 ButtonClick 事件。ButtonClick 事件的事件过程是由所有按钮共享的。
使用此事件过程要注意的唯一问题是确定点击了哪个按钮。通过引用传递给过程的事件参数很容易解决这个问题。通过引用 e.Button.ImageIndex,可以确定与点击的按钮相关联的图像。此索引是您将图像保存在 ImageList 控件中时分配给图像的原始索引。列表 2 说明了处理按钮点击操作的过程。
列表 2:处理工具栏按钮点击操作
|
添加代码
现在您已经了解了构造界面的基本知识,下面我要着重介绍如何在应用程序中添加代码。与在 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(启动而不调试)。
在仿真器中进行测试
仿真器在桌面计算机中提供了一种环境,可以模拟应用程序所用的设备平台的功能和操作。仿真器可以在没有设备或无法使用设备的情况下使用。
请注意:在仿真器中进行测试有其不足之处。首先也是最主要的缺陷,仿真器是在桌面计算机上运行的,而桌面计算机上的处理资源比目标设备的处理资源多很多。这就会给您造成一种应用程序运行良好的错觉。另外,仿真器是通过键盘和鼠标输入的,而不是最终用户要使用的笔针。如果没有意识到这些不同之处,很有可能您创建的应用程序在仿真器中易于使用,而在设备上却很难使用。最后,仿真器也只提供了“类似于”设备的环境,而不是完全相同的环境。各种仿真器也不尽相同。
| 共12页: 上一页 [1] [2] [3] [4] [5] [6] [7] [8] 9 [10] [11] [12] 下一页 | ||
|
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |