![](/img/trans.png)
[英]How to get built-in controls under particular tabs in excel VSTO c#?
[英]How to add a group to multiple built-in Ribbon tabs (vsto)?
这是 VS2010 + Office 2010 插件。 我想要的只是向多个内置选项卡添加一个按钮(或按钮组)。 例如,我的按钮应该在New Mail Message Ribbon和New Appointment Ribbon中都可用。 我尝试添加一个新选项卡(在 Visual Designer 中),但这似乎不起作用。 按钮组出现在“新邮件”选项卡上,但不会出现在“约会”选项卡上。 顺便说一句,我正在使用以下 ID: TabNewMailMessage
和TabAppointment
。
对于其他人来说,我能够在约会和新邮件消息选项卡上看到我的组的唯一方法是为每个内置选项卡添加一个功能区,然后复制/粘贴所有 UI 和代码从一个功能区到另一个。 确保为每个内置选项卡选择正确的 RibbonType(功能区的属性)。
指定的答案现已过时!
我没有 Outlook,但我在 Word/Excel/PPT 中使用了以下内容,所以我希望它也能在 Outlook 中使用(未经测试!)。
尝试添加一个 Ribbon (XML) 项目,然后添加两个带有按钮的选项卡,该按钮看起来相同并且调用相同的代码但具有不同的 ID。
XML:
<tab idMso="TabNewMailMessage">
<group id="MyGroup1" label="My Group1">
<button id="myButton1" label="Button 1" size="large" onAction="ButtonOnAction" />
</group>
</tab>
<tab idMso="TabAppointment">
<group id="MyGroup2" label="My Group2">
<button id="myButton2" label="Button 2" size="large" onAction="ButtonOnAction" />
</group>
</tab>
C#:
public void ButtonOnAction(IRibbonControl control)
{
switch (control.Id)
{
case "myButton1":
case "myButton2":
// do something
Console.Out.WriteLine("Button ID: {0}", control.Id);
break;
}
}
与上面的答案类似,但不使用 XML,您可以在两个不同位置添加第二个选项卡的组。
在功能区设计器中,将第二个选项卡添加到功能区并将 ControlID 更改为您希望看到您的组的第二个位置。 然后右键单击原始选项卡中的组并单击复制。 单击返回到新选项卡并将组粘贴到那里。 它将复制组中已有的任何内容。 但是,您将不得不重新添加事件。但对我而言,我只是重新使用了已经创建的事件,并且效果很好。 干杯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.