RibbonButton Interface
Represents a button on a custom Ribbon.
Namespace: Microsoft.Office.Tools.Ribbon
Assembly: Microsoft.Office.Tools.Common (in Microsoft.Office.Tools.Common.dll)
Syntax
'Declaration
<GuidAttribute("b57e6217-33f2-46bf-9625-c313526de60c")> _
Public Interface RibbonButton _
Inherits RibbonControl, RibbonComponent, IComponent, IDisposable
[GuidAttribute("b57e6217-33f2-46bf-9625-c313526de60c")]
public interface RibbonButton : RibbonControl,
RibbonComponent, IComponent, IDisposable
The RibbonButton type exposes the following members.
Properties
Name | Description | |
---|---|---|
ControlSize | Gets or sets the size of the button. | |
Description | Gets or sets the text that appears on this button in a menu when the ItemSize property of the menu is set to Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge. | |
Enabled | Gets or sets a value that indicates whether this RibbonControl is enabled. (Inherited from RibbonControl.) | |
Id | Gets a string that Microsoft Office uses to identify this RibbonControl object. (Inherited from RibbonControl.) | |
Image | Gets or sets the image that is displayed on the button. | |
ImageName | Gets or sets the name that you can use to identify the button in the LoadImage event handler. | |
KeyTip | Gets or sets the keyboard shortcut of the button. | |
Label | Gets or sets the text that is displayed on the button. | |
Name | Gets or sets the name of this RibbonComponent. (Inherited from RibbonComponent.) | |
OfficeImageId | Gets or sets the image to display on the button, if you want to use a built-in Microsoft Office icon. | |
Parent | Gets a RibbonComponent that represents the parent of this RibbonComponent. (Inherited from RibbonComponent.) | |
Position | Gets or sets the position of the button, if the button is on the Microsoft Office Menu. | |
Ribbon | Gets the top-level Ribbon object that contains the control hierarchy. (Inherited from RibbonComponent.) | |
RibbonUI | Infrastructure. Gets the IRibbonUI instance that is provided by the Microsoft Office application to the Ribbon extensibility code. (Inherited from RibbonComponent.) | |
ScreenTip | Gets or sets tooltip text that appears when the user moves the pointer over the button. | |
ShowImage | Gets or sets a value that indicates whether the image that is associated with the button is visible. | |
ShowLabel | Gets or sets a value that indicates whether the label for the button is visible. | |
Site | Gets or sets the ISite associated with the IComponent. (Inherited from IComponent.) | |
SuperTip | Gets or sets multiline tip text that appears when the user moves the pointer over the button. | |
Tag | Gets or sets application-specific data that is associated with this RibbonComponent. (Inherited from RibbonComponent.) | |
Visible | Gets or sets a value that indicates whether this RibbonControl is visible. (Inherited from RibbonControl.) |
Top
Methods
Name | Description | |
---|---|---|
Dispose | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. (Inherited from IDisposable.) | |
PerformDynamicLayout | Calls the Microsoft.Office.Core.IRibbonUI.InvalidateControl method of the parent control if the RibbonComponent has a dynamic parent, such as a dynamic menu, and layout is not suspended. (Inherited from RibbonComponent.) | |
PerformLayout | Calls Microsoft.Office.Core.IRibbonUI.InvalidateControl if the RibbonComponent has a parent and layout is not suspended. (Inherited from RibbonComponent.) | |
ResumeLayout() | Reverses the effect of the SuspendLayout method. (Inherited from RibbonComponent.) | |
ResumeLayout(Boolean) | Reverses the effect of the SuspendLayout method. (Inherited from RibbonComponent.) | |
SuspendLayout | Prevents the Microsoft Office application from refreshing the state of controls on the Ribbon. (Inherited from RibbonComponent.) |
Top
Events
Name | Description | |
---|---|---|
Click | Occurs when the user clicks the button. | |
Disposed | Represents the method that handles the Disposed event of a component. (Inherited from IComponent.) |
Top
Remarks
Visual Studio creates an instance of a class that implements the RibbonButton interface when you drag a Button control from the Office Ribbon Controls tab of the Toolbox onto the Ribbon Designer.
You can also create an instance of this control at run time and add it to a dynamic menu. A menu is dynamic if you set its Dynamic property to true.
Some properties of this control can be set only before the Ribbon is loaded into the Office application or before the control is added to a dynamic menu at run time. For information about setting these properties, see Ribbon Object Model Overview.
You can create a RibbonButton at run time by using the CreateRibbonButton method of the RibbonFactory object.
There are two ways to access the RibbonFactory object:
By using the Factory property of the Ribbon class. Use this approach from code in your Ribbon class.
By using the Globals.Factory.GetRibbonFactory method. Use this approach from code outside your Ribbon class.
Common Tasks
The following table lists members that are useful for common tasks.
Task |
Member |
---|---|
At run time, add a button to a menu that has its Dynamic property set to true. |
Create an instance of a class that implements the RibbonButton interface by using the CreateRibbonButton method of the RibbonFactory class. For more information, see Global Access to Objects in Office Projects. Add the instance to the menu's Items collection. |
Change the size of the button. |
Set ControlSize to the value you want. For example, for a large button, set it to Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge. |
Display an image on the button. |
There are three ways to display an image:
|
Disable or hide buttons. |
To disable a button, set Enabled to false. To hide a button, set Visible to false. |
Run code when a user clicks the button. |
Add code to the Click event handler. |
Note
This interface is implemented by the Visual Studio Tools for Office runtime. It is not intended to be implemented in your code. For more information, see Visual Studio Tools for Office Runtime Overview.
Usage
This documentation describes the version of this type that is used in Office projects that target the .NET Framework 4 and the .NET Framework 4.5. In projects that target the .NET Framework 3.5, this type might have different members and the code examples provided for this type might not work. For documentation about this type in projects that target the .NET Framework 3.5, see the following reference section in the Visual Studio 2008 documentation: https://go.microsoft.com/fwlink/?LinkId=160658.
Examples
The following example creates a new button, sets various properties of the button, and then adds the button to a menu. To run this code example, you must first perform the following steps:
Add a Ribbon (Visual Designer) item to a project created by using Office development tools in Visual Studio.
Add a group to the custom tab.
Add a menu to the group.
Set the Dynamic property of the menu to true.
Set the ItemSize property of the menu to RibbonControlSizeLarge.
Private Sub AddButtonsToMenu()
Dim tempButton = Me.Factory.CreateRibbonButton()
tempButton.Label = "Button 1"
tempButton.ControlSize = _
Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge
tempButton.Description = "My Ribbon Button"
tempButton.ShowImage = True
tempButton.ShowImage = True
tempButton.Image = My.Resources.Image1
tempButton.Image = My.Resources.Image2
tempButton.KeyTip = "A1"
menu1.Items.Add(tempButton)
End Sub
private void AddButtonsToMenu()
{
RibbonButton tempButton = this.Factory.CreateRibbonButton();
tempButton.Label = "Button 1";
tempButton.ControlSize =
Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge;
tempButton.Description = "My Ribbon Button";
tempButton.ShowImage = true;
tempButton.ShowImage = true;
tempButton.Image = Properties.Resources.Image1;
tempButton.Image = Properties.Resources.Image2;
tempButton.KeyTip = "A1";
menu1.Items.Add(tempButton);
}
See Also
Reference
Microsoft.Office.Tools.Ribbon Namespace
RibbonButton