使用Pocket Outlook .NET组件,我们可以利用三种Pocket Outlook数据实现三项PIM功能:任务、联系人和约会管理。本文介绍任务管理这种PIM功能的实现。
从开发人员的角度来看,使用任务可能出于多种不同的原因。例如,可以在Pocket PC应用程序内通过任务的方式记录某个项目中等待完成的后续工作。Pocket PC设备上的任务应用程序如图23-1所示。
图23-1:任务应用程序
InTheHand的Pocket Outlook .NET组件所提供的Task对象和OutlookSession对象的Tasks属性实现了对任务功能的编程访问。
显示任务
POOM所提供的一个非常有用的功能特性是能够在Pocket PC应用程序界面上显示本机的Pocket Outlook数据。也就是说,其显示效果就像用户进入Task应用程序并选择查看特定任务一样。
该功能通过Task对象的ShowDialog的方法实现,ShowDialog方法从Pocket Outlook .NET组件里的PimItem类继承而来。清单23-3演示了如何使用该方法。
清单23-3:显示任务
Imports InTheHand.WindowsMobile.PocketOutlook
……
Dim myOutlookSession As New OutlookSession
Dim myTasks As PimItemCollection
Private Sub btnDisplay_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnDisplay.Click
Dim myTask As Task
' 显示任务
myTask = myTasks.Item(0)
myTask.ShowDialog()
End Sub
与前面的两个示例一样,首先要添加Imports语句,并声明OutlookSession和PimItemCollection变量。
在清单23-3的btnDisplay_Click过程中,首先从检索的所有任务集合中,将单个任务(即第一个任务)提取到Task对象变量中。该对象提供了ShowDialog方法,随后调用该方法在图23-2所示的界面里显示所选任务。
图23-2:显示任务
增加新任务的过程包含三个步骤。首先,创建一个新任务。其次,配置新任务。最后,保存新任务。清单23-4演示了如何增加新任务。
清单23-4:增加任务
Imports InTheHand.WindowsMobile.PocketOutlook
……
Dim myOutlookSession As New OutlookSession
Dim myTasks As PimItemCollection
Private Sub btnAdd_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnAdd.Click
Dim myTask As Task
' 创建一个新任务
myTask = myOutlookSession.Tasks.Items.AddNew
' 配置新任务
With myTask
.Body = "添加一个简单的任务"
.Categories = "demo"
.DueDate = Today.Date
.Importance = Importance.High
.ReminderOptions = ReminderOptions.Dialog
.ReminderSet = True
.StartDate = Today.Date
.Subject = "sample task"
' 最后,保存新任务
.Update()
End With
End Sub
与前面的所有示例一样,首先要添加Imports语句,并声明OutlookSession和PimItemCollection变量。
在清单23-4的btnAdd_Click过程中,完成了增加新任务所包括的三个步骤。首先,在OutlookSession对象的Tasks属性集合中增加一个新任务。其次,配置该新任务的各项属性。最后,调用Task对象的Update方法保存该任务。
修改任务与增加任务类似,修改任务同样也包括的三个步骤。而与增加新任务的三个步骤唯一不同之处是修改任务的第一步是将现有任务加载到Task对象中。清单23-4演示了修改任务所执行的三个步骤。
清单23-5:修改任务
Imports InTheHand.WindowsMobile.PocketOutlook
……
Dim myOutlookSession As New OutlookSession
Dim myTasks As PimItemCollection
Private Sub btnModify_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnModify.Click
Dim myTask As Task
' 检索所有任务
myTasks = myOutlookSession.Tasks.Items
myTask = myTasks.Item(0)
' 配置新任务
With myTask
.Body = "修改任务"
' 最后,保存新任务
.Update()
End With
End Sub