我正在编写一个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;
我应该怎么做才能让菜单每次都触发动作?
答案 0 :(得分:1)
menuitem是局部变量吗? , 因此,一旦垃圾收集器超出范围,它就可能会被清理干净。
尝试将变量保存在全局对象中。