我正在尝试编写一个插件来通知约会何时保存并执行一些数据。为此,我需要检查当活动检查器关闭时,该项目是否已保存。
我的问题是:当尝试将WriteEvent
-listener 绑定到FormRegionShowing
-method 中的当前项目时,我需要ActiveInspector
to 事件获取当前项目。但是,当到达ActiveInspector
那里时null
,可能是因为在活动检查器实际活动之前调用了该方法。
但是,当尝试在 - 方法中绑定它时FormRegionClosed
,write 事件永远不会触发。那么,我怎么知道AppointmentItem
用户何时实际保存了一个?
编辑:我设法在FormRegionShowing
-method 中绑定了 write 事件,但它仍然不会触发:
private void ADDIN_NAME_FormRegionShowing(object sender, System.EventArgs e){
Outlook.AppointmentItem currentItem = (Outlook.AppointmentItem)this.OutlookItem;
currentItem.Write += new Outlook.ItemEvents_10_WriteEventHandler(currentItem_Write);
currentItem.AfterWrite += new Outlook.ItemEvents_10_AfterWriteEventHandler(currentItem_AfterWrite);
MessageBox.Show("added handlers");
}
void currentItem_AfterWrite(){
MessageBox.Show("item has been saved");
}
void currentItem_Write(ref bool Cancel){
MessageBox.Show("item being saved");
}