【问题标题】:Loading form region dynamically in Outlook Add-In在 Outlook 加载项中动态加载表单区域
【发布时间】:2016-08-19 02:27:29
【问题描述】:

我正在开发 Outlook 加载项。我在功能区中添加了一个新选项卡,其中包含一个按钮。另一方面,我有一个包含控件的表单区域。

我想在单击按钮时显示我的表单区域。我该如何实现呢?

最好的问候。

【问题讨论】:

    标签: c# outlook-addin


    【解决方案1】:

    首先,您需要在ribbon.xml 中设置您的点击事件。如果您有一个额外的选项卡已经显示,您应该已经有一个ribbon.xml。

    带有按钮点击事件的ribbon.xml示例:

    <?xml version="1.0" encoding="UTF-8"?>
     <contextMenus>
            <contextMenu idMso="ContextMenuMailItem">
                <menu id="MailMenu" label="Ribbon Actions" image="Icon">
                    <button id="NewFromEmail" label="New" onAction="NewFromEmail_Click" />
                </menu>
            </contextMenu>
        </contextMenus>
    </customUI>
    

    请注意,我已将 onAction="NewFromEmail_Click" 添加到按钮中。

    然后在您的主功能区类中,您将需要创建我们刚刚添加到按钮的单击事件方法。在这个方法中,你可以把你的 form.Show();。然后,每当您单击该功能区按钮时,该代码就会触发。

    public void NewFromEmail_Click(Office.IRibbonControl control)
    {
        form.Show();
    }
    

    如果您对我刚才所说的内容有任何疑问,请发表评论,我不是最擅长解释事情的。

    【讨论】:

    • 根据您的回答,我无法解释我的问题。对此感到抱歉。回到我的问题,我不想打开新表单,我想在 Outlook 中加载一个表单区域。不会有​​新窗口。我的表单区域应该出现在 Outlook 的主窗格中。
    • @mekafe 我确定我在某处读过您可以将用户控件添加到 Outlook 2013 中的一些区域,但是我找不到文档。我找到了这篇文章,它稍微复杂一些,但应该对你有所帮助:codeproject.com/Articles/27262/…
    【解决方案2】:

    您必须处理 FormRegionInitializing 事件并将 FormRegionInitializingEventArgs.Cancel 参数设置为 true。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-20
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 2017-03-10
      • 1970-01-01
      相关资源
      最近更新 更多