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

图 12:工具栏示例
在应用程序中,工具栏起着两个重要的作用。首先,工具栏可以为应用程序添加一些趣味。由于 Pocket PC 应用程序的空间有限,因而外观上一般都比较平淡。工具栏及其包含的按钮会给应用程序的界面增添一些视觉“冲击力”。
其次,工具栏简化了用户界面。常用功能可以放到工具栏上,而不必嵌套在菜单中。这样做的好处在于,访问工具栏按钮只需点击一下,而访问菜单项至少需要点击两下,如果菜单项位于子菜单中,可能还要点击三下。
构造工具栏的过程分为三步:
- 添加和配置 ImageList 控件。ImageList 控件提供最终显示在菜单按钮上的图像。
- 添加和配置 ToolBar 控件。ToolBar 控件定义组成实际工具栏(显示给最终用户)的按钮。
- 编写事件过程以响应点击按钮的操作。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,使用该环境会使您感到乐趣无穷。代码窗口提供了极其丰富的功能,从完成语句到自动列出成员,从提供参数信息到可折叠的代码区域等等,不胜枚举。
浏览代码的最快方法是使用窗口顶部的两个组合框。使用代码窗口左上角的组合框,可以在模块中选择一个类。使用窗口右上角的组合框,可以从该类中选择一种方法。