делегат onclick запускается только один раз - PullRequest
1 голос
/ 11 мая 2011

Я пишу надстройку для Outlook, которая добавляет меню в Outlook. Несмотря на то, что я назначил делегату действие для меню, похоже, что оно удаляется после одного вызова делегата - один щелчок по пункту меню .в следующий раз, когда пользователь нажимает, он не попадает к моему делегату.Пример кода:

menuCommand = (Office.CommandBarButton)cmdBarControl.Controls.Add(
Office.MsoControlType.msoControlButton, missing, missing, missing, true);

menuCommand.Caption = "&Generate weekly...";
menuCommand.Tag = "Generate";
menuCommand.FaceId = 65;

menuCommand.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(
menuCommand_Generate_Click);

menuCommand = (Office.CommandBarButton)cmdBarControl.Controls.Add(
    Office.MsoControlType.msoControlButton, missing, missing, missing, true);

menuCommand.Caption = "&About";
menuCommand.Tag = "About";
menuCommand.FaceId = 65;

menuCommand.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(
menuCommand_About_Click);
menuCommand.BeginGroup = true;

Что я должен сделать, чтобы меню каждый раз вызывало действие?

1 Ответ

1 голос
/ 11 мая 2011

Является ли menuitem локальной переменной? , в противном случае сборщик мусора может очиститься, как только он выйдет из области видимости.

Попробуйте сохранить переменную в глобальном объекте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...