下午好!提前感谢您提供的任何指导。我正在使用Visual Studio 2015和C#来创建Outlook加载项。我使用Ribbon Designer(名为MainRibbon)创建了一个功能区,并使用以下代码在运行时启动它:
public void sendFile(File file, String fileType, String fileName) {
try (OutputStream send = new BufferedOutputStream(clientSocket.getOutputStream());
InputStream fileIn = new BufferedInputStream(new FileInputStream(fileName));) {
String httpHeader = "";
httpHeader += "HTTP/1.1 200 OK\n";
httpHeader += "Content-type: "+ fileType+ "; Charset=UTF-8\n";
httpHeader += "\n";
send.write(httpHeader.getBytes("UTF-8"););
send.flush();
IOUtils.copy(fileIn, send);
send.flush();
} catch (IOException e) {
System.err.println(e.getMessage());
}
}
我遇到的问题是我的Outlook安装了第三方加载项,它也有自己的功能区。测试我的功能区时,会发生的情况是我的选项卡按预期显示在功能区上,但第三方加载项选项卡已消失,第三方加载项选项卡中的图标将合并到我的自定义功能区中。
我希望第三方加载项能够保持自己的标签和我的功能区有自己的标签。我是Visual Studio的新手,并且通过MSDN来创建这个,我没有看到保持我的功能区仅仅是我的插件。
答案 0 :(得分:1)
默认情况下,VSTO功能区设计器会为您显示一个"共享选项卡" (通常标记为"加载项")所有自定义都可以使用。理念是这对用户来说更好......
您可以(并且应该)将自己的CUSTOM选项卡添加到Designer中的功能区。没有其他加载项能够共享在Designer中创建的自定义选项卡。
点击功能区"栏",在任何标签页面外,然后选择"添加功能区标签"从上下文菜单中。在属性中,您可以为其指定名称和标签。您可以像添加内置选项卡一样向其添加按钮。
注意:使用Ribbon XML可以通过提供命名空间和使用qId来公开自定义选项卡以进行共享。我只是为了完整而提到这一点......