우리의 설치 당신이 바로과 같이 Outlook에서 이메일을 클릭하여 사용자 정의 컨텍스트 메뉴 :C# Outlook에서 추가 기능 - 상황에 맞는 메뉴 폐기
private void _application_ItemContextMenuDisplay(Office.CommandBar CommandBar, Interop.Selection Selection)
{
var contextButton = (Office.CommandBarButton)CommandBar.Controls.Add(Office.MsoControlType.msoControlButton, Temporary: true);
contextButton.Visible = true;
contextButton.Caption = "&My Context Menu";
contextButton.Click += MyContextMenu_Click;
}
이 방법은 Application.ItemContextMenuDisplay
에 가입됩니다.
간혹 이벤트가 여러 번 발생하는 경우를 제외하고는 정상적으로 작동합니다. 다른 이메일을 빠르게 마우스 오른쪽 버튼으로 클릭 할 때 발생합니다.
그렇다면 내 임시 컨텍스트 메뉴 항목을 정리할 때 언제 좋은지 알 수 있습니다. 어딘가에서 C# 이벤트를 구독 취소해야합니다. 그렇게 할 의도가있는 곳은 어디입니까? (Marshal.ReleaseComObject
으로 전화해야 할 수도 있습니다)
Visual Studio에서 VSTO 및 Outlook 2010 프로젝트 템플릿을 사용하고 있습니다. 나는 일반적으로 컨텍스트 메뉴를 커스터마이징하는 좋은 예를 많이 발견하지 못했다.
이 이벤트가 예상대로 발생하지 않는 것으로 나타났습니다 (연락처 또는 전자 메일 목록의 메뉴이기 때문에 생각합니다). 나는이 문제에 대해 더 이상 일하고 있지 않다. 결국'ItemContextMenuDisplay'의 시작 부분에 오래된 메뉴를 정리했다. 이것은 우리에게 큰 도움이되었습니다. – jonathanpeppers