繁体   English   中英

Outlook加载项事件触发不一致

Inconsistent Outlook Addin Event Firing

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

在我的机器我有FormInitializingFormShowing事件之前发射RibbonLoad 我在VS 2010中创建了一个安装程序包,并安装在装有Outlook 2010的普通 Windows 7 Ultimate上。

该插件没有出现在我的会议请求表上。 因此,我设置了远程调试器,令我惊讶的是, RibbonLoad在上述两个表单事件之前触发。 正在抛出空异常b \\ c RibbonLoad的代码依赖于已经加载的FormRegion 谁能提供任何见解?

1 个回复

对于某些Outlook事件,没有定义的顺序- 功能区UI检查器UI是完全不同的组件,尽管它们都显示在同一窗口中。 Outlook运行时可能会以不同顺序触发功能区和检查器事件。 如果需要完成一些初始化FormInitializing同步两个事件( RibbonLoadFormInitializing )是您的工作。 您不能假设顺序将始终相同。

ThisAddIn.StartupThisAddIn.CreateRibbonExtensibilityObject之前ThisAddIn.CreateRibbonExtensibilityObject ,但有时在Outlook触发排序之后,我会注意到相同的行为。 您可以仅使用带有同步锁定的静态变量来确保初始化代码仅触发一次。

这是我用来将Startup事件与RibbonLoad事件同步的示例:

public partial class ThisAddIn
{
  static bool formInitialized = false;
  static readonly object padLock = new Object(); 

   private void ThisAddIn_Startup(object sender, System.EventArgs e)
   {
       lock(padLock) { if (!formInitialized ) { InitializeForm(); } }
       // startup code
    }

   private void InitializeForm() 
   {
      // init code
      formInitialized = true;
   }

   protected override IRibbonExtensibility CreateRibbonExtensibilityObject()
    {
        lock(padLock) { if (!formInitialized) InitializeForm(); }
        // Create ribbon UI
    }
}
1 ItemSend Event Outlook for Windows Addin 未触发

我无法让 ItemSend 事件为我正在处理的 Outlook 插件工作。 我完全被我设置错误的东西难住了。 清单的相关部分如下: 然后我将 onsend.js 与 onsend.html 配对,我的 onsend.js 非常简单: 我的Outlook版本如下: 当我发送电子邮件时, ...

2 Outlook Addin约会项目PropertyChange事件触发过多

我正在创建一个Outlook加载项,当会议的与会者发生更改时需要触发该加载项。 我遇到的问题是,约会项目的PropertyChange事件触发的方式太多,因此我无法获得确切的参与者数量。 这是我正在使用的一些代码: 事件被触发太多次,因此“测试”将获得介于1(发送方始终是与会者) ...

3 Outlook 插件 On Send on dektop 未触发

我一直在为 Outlook 构建 Office 加载项。 我有一个任务面板,工作正常,昨天,我添加了“发送”功能。 它在网络上运行良好,但在桌面上不起作用。 邮件只是发送,没有任何通知消息。 根据文档,它现在应该可以在桌面上运行吗? “Exchange Online (Office 365) ...

5 Outlook插件-保存会议事件

我正在使用c#创建一个Outlook 2010外接程序,以便在内部使用。 当用户在Outlook日历中添加或更新事件时,我想将事件的信息发送到数据库。 但是我无法在外接程序中找到允许我这样做的事件。 我只是在想什么吗,还是真的没有活动吗? ...

6 JavaFX 8中的事件触发/捕获不一致

UI和JavaFX的新功能。 下面的代码片段创建一个JavaFX Circle(代表逻辑开关),并将其放置在GridPane中。 运行时行为非常令人困惑。 在MouseClick事件上,我只想指示选定的开关(圆圈)。 这是parent.setSelectedSwitch(this ...

7 Word VSTO插件-单击事件未触发?

我正在编写我的第一个VSTO Word的VSTO插件,我设法在“跟踪更改”上下文菜单中添加了一个按钮,但是我无法通过它调用我的点击处理程序。我可以在此处看到该按钮,但是单击它却无济于事-我从不进入ButtonClick ,也没有例外。 我尝试将“ Enabled设置为true,将“ Visib ...

8 功能区选项卡加载的Outlook插件2010事件

我有功能区选项卡,其中包含用于Outlook外接程序(2010)的按钮数量。 我需要启用按钮,具体取决于用户单击的文件夹(收件箱,sentItems,草稿等)。例如:如果用户在草稿按钮上,我要禁用按钮1。如果用户在已发送邮件文件夹中,我想启用该按钮。 让我们知道应该为该功能选择哪个事件。 ...

9 Outlook插件可以写入系统事件日志吗?

我有一个用VSTO 2010开发的outlook插件,我想写一些事件记录。 在调试时,我可以通过简单地执行以下操作来实现此功能: 问题是加载项没有管理员权限来读取日志的发布版本。 我发现一些文章谈到在安装过程中创建EventLog源代码,但我使用的是ClickOnce,似乎没有办法做 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM