用户单击以关闭消息窗口时的事件

时间:2017-07-19 12:40:22

标签: c# outlook vsto outlook-addin

有没有办法知道用户点击关闭消息窗口的时间和之前"是否要保存更改"对话框显示出来?我已经注册了Inspector.Close事件,但只有在用户决定保存/放弃更改之后才会触发((InspectorEvents_10_Event)Inspector).Close += OnInspectorClose;

1 个答案:

答案 0 :(得分:0)

好的,显然我需要使用邮件中的事件,而不是检查员。我需要在内部注册处理程序,例如。 NewInspector处理程序:

if (inspector.CurrentItem is MailItem)
{
  MailItem item = inspector.CurrentItem as MailItem;
  ((ItemEvents_10_Event)item).Close += OnItemClose;
}

然后准备处理程序:

private void OnItemClose(ref bool cancel) //ItemEvents_10_CloseEventHandler
{
  ((ItemEvents_10_Event)_lastOpenedItem).Close -= OnItemClose;
  _lastOpenedItem.Close(OlInspectorClose.olDiscard);
}

这个OnItemClose将在Inspector的Close事件触发(((InspectorEvents_10_Event)Inspector).Close)之前执行。