Какие могут быть причины для событий объекта Explorer
не стрелять? Я использую простой код ниже, просто регистрируя события для всех объектов Explorer
. Я всегда получаю строку Init new Explorer!
в окне отладки один раз, поэтому есть один объект Explorer
. Когда я затем нажимаю в Outlook, переключаюсь с почты на просмотр календаря, выбираю элементы, переключаюсь обратно, переключаюсь на контакты, ... Я получаю только некоторые (!) Из первых событий, а не детерминированные какие события. И через несколько секунд я не получаю больше событий, несмотря на то, что вы меняете и меняете мнения. Что здесь не так?Outlook 2013 VSTO - События для текущего исследователя не увольняются
private void ThisAddInStartup(object sender, System.EventArgs e)
{
foreach (var exp in this.Application.Explorers)
{
this.ExplorersOnNewExplorer(exp as Explorer);
}
this.Application.Explorers.NewExplorer += this.ExplorersOnNewExplorer;
}
private void ExplorersOnNewExplorer(Explorer currentExplorer)
{
Debug.WriteLine("Init new Explorer!");
currentExplorer.BeforeViewSwitch += this.CurrentExplorerOnBeforeViewSwitch;
currentExplorer.BeforeFolderSwitch += this.CurrentExplorerOnBeforeFolderSwitch;
currentExplorer.SelectionChange += this.CurrentExplorerOnSelectionChange;
currentExplorer.ViewSwitch += this.CurrentExplorerOnFolderSwitch;
currentExplorer.FolderSwitch += this.CurrentExplorerOnFolderSwitch;
}
private void CurrentExplorerOnBeforeFolderSwitch(object newFolder, ref bool cancel)
{
Debug.WriteLine("BeforeFolderSwitch!");
}
private void CurrentExplorerOnBeforeViewSwitch(object newView, ref bool cancel)
{
Debug.WriteLine("BeforeViewSwitch!");
}
private void CurrentExplorerOnFolderSwitch()
{
Debug.WriteLine("CurrentExplorerOnFolderOrViewSwitch!");
}
private void CurrentExplorerOnSelectionChange()
{
Debug.WriteLine("Selection changed!");
}