ContextMenu Excel 365 действие теряется через некоторое время c#
Я создал contextMenu (CommandBarButton) в ленте Excel addin, написанной на C# некоторое время назад. Я замечаю, что по какой-то причине через некоторое время работы в excel функциональность за кнопкой теряется. Сразу после инициализации аддина, где кнопки добавляются в контекстное меню, он работает как шарм, но затем, будучи занятым в листе Excel, функция, стоящая за событием, больше не вызывается, когда я нажимаю на него.
Я перепробовал много разных вещей, таких как удаление и добавление событий после каждого действия в моем аддине, но проблема сохраняется.
EDIT: я обнаружил, что кнопка на моей ленте, которая копирует рабочий лист, ответственна (по крайней мере, в одном из случаев) за то, что обработчик событий не работает. Я использую Excel.Worksheet.Copy()
для копирования моего рабочего листа, а также активирую фильтр, который выводит обработчик событий в нерабочее состояние.
Может быть, по какой-то причине слушатель событий удаляется каким-то процессом?
Microsoft.Office.Core.CommandBarButton ContextMenuCompanyButton;
ContextMenuCompanyButton = (Microsoft.Office.Core.CommandBarButton)Globals.ThisAddIn.Application.CommandBars["Cell"].Controls.Add(Microsoft.Office.Core.MsoControlType.msoControlButton, Type.Missing, Type.Missing, 1, false);
ContextMenuCompanyButton.Style = Microsoft.Office.Core.MsoButtonStyle.msoButtonCaption;
ContextMenuCompanyButton.Caption = "Companies";
ContextMenuCompanyButton.Tag = "Companies";
ContextMenuCompanyButton.Visible = true;
ContextMenuCompanyButton.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(CommandBarCompanyButton_Click);
Знает ли кто-нибудь эту проблему, я знаю не знаю, где его искать. Может быть, есть какой-то внутренний процесс прояснения этих событий?