Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#自定义功能区错误_C#_Outlook_Vsto - Fatal编程技术网

C#自定义功能区错误

C#自定义功能区错误,c#,outlook,vsto,C#,Outlook,Vsto,我使用下面的代码在outlook中的“我的主页”选项卡上显示一个按钮,但当我进入一个新实例(如创建新电子邮件)时,我会收到一个错误,因为TabHome不再可用 <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <tabs> <tab idMso="TabHome"> <group id="Phishing" la

我使用下面的代码在outlook中的“我的主页”选项卡上显示一个按钮,但当我进入一个新实例(如创建新电子邮件)时,我会收到一个错误,因为TabHome不再可用

  <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon>
    <tabs>
  <tab idMso="TabHome">
<group id="Phishing" label="Phishing">
  <button id="Phishing_Email" label="Phishing_Email" size="large" />
</group>
  </tab>
</tabs>
</ribbon>
</customUI>

但是我似乎无法阻止此错误,有人能帮忙吗?

检查器窗口有一个选项卡,其中包含
TabNewMailMessage
idMso值。因此,您需要返回一个适当的
idMso
值,具体取决于要创建自定义UI的位置

该方法提供了
RibbonID
参数,您可以使用该参数确定自定义UI的加载位置。只需调试外接程序,并查看为Inspector和explorer窗口传递的可能值


最后,您不应该在代码中调用
GetCustomUI
方法。相反,在创建UI时,Office应用程序会调用它。

但我只希望它显示在idMso Home上,而不显示其他内容。我怎样才能防止这种情况发生呢?我已经穷途末路了。那么,您不应该向检查员返回任何功能区XML。检查传递给“GetCustomUI”方法的RibbonID参数。您在谈论问题中的第二段代码吗?我已经解决了这个问题,仍然有错误
  public Ribbon1()
    {
        try
        {
            GetCustomUI("Ribbon1");
        }


        catch (System.Exception e) { }

    }