C#을 사용하여 Outlook AddIn을 조금 개발 중이며이 AddIn에서 ItemSend 프로세스를 제대로 취소 할 수 없습니다. 나는 기존의 약속 항목을 변경하려고하면 약속 창에 열 때 내가 좋아하는, 그것의 일부 값을 변경, 지금C# Outlook AddIn 약속 이벤트 'ItemSend'가 제대로 취소되지 않습니다.
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
((Outlook.ApplicationEvents_Event)this.Application).ItemSend += new ApplicationEvents_ItemSendEventHandler(ThisAddIn_ItemSend);
}
void ThisAddIn_ItemSend(object Item, ref bool Cancel)
{
System.Windows.Forms.MessageBox.Show("You can't save it, it's in the past!");
Cancel = true;
return;
}
: 본인은 다음과 같은 시나리오를 생각하고 는 : 이 작은 추가 기능을 고려 위치 등. 약속 창에서 "보내기"버튼을 누르면 텍스트 상자의 메시지가 예상대로 나타납니다. 그러나 문제는 Outlook이이 취소를 무시하고 이미 변경 내용을 저장한다는 것입니다. 일어나는 유일한 것은 약속 창이 닫히지 않는다는 것입니다. 그러나 명시 적으로 저장하지 않고 창을 닫으면 Outlook에서 약속 항목에 대한 변경 내용을 이미 수락했음을 알 수 있습니다.
이것은 의도 한 동작입니까? Cancel 매개 변수가 "true"로 변경 되었더라도 Outlook에서 변경 내용 저장이 중지 될 수 있습니까?
일부 ItemSending 이벤트가 없습니까? ItemSend는 실제 아이템을 보낸 후 액션처럼 보입니다. – CodingBarfield
불행히도이 항목은 Microsoft.Office.Interop.Outlook.ApplicationEvents_Event에서 액세스 할 수있는 유일한 '보내기'관련 이벤트입니다.이 이벤트는 지금까지 볼 수있는 한 모든 항목에서 작동합니다. – xSNRG