RibbonButton Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a button on a custom Ribbon.
public interface class RibbonButton : IDisposable, Microsoft::Office::Tools::Ribbon::RibbonControl, System::ComponentModel::IComponent
[System.Runtime.InteropServices.Guid("b57e6217-33f2-46bf-9625-c313526de60c")]
public interface RibbonButton : IDisposable, Microsoft.Office.Tools.Ribbon.RibbonControl, System.ComponentModel.IComponent
[<System.Runtime.InteropServices.Guid("b57e6217-33f2-46bf-9625-c313526de60c")>]
type RibbonButton = interface
interface RibbonControl
interface RibbonComponent
interface IComponent
interface IDisposable
Public Interface RibbonButton
Implements IComponent, IDisposable, RibbonControl
- Attributes
- Implements
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 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);
}
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
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: - Use the Image property. This property gives the most control. - Set OfficeImageId to the ID of a built-in Microsoft Office image that you want to display as the icon for the button. - Use the ImageName property along with the LoadImage event. This property gives some performance benefits. |
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 or later. 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: http://go.microsoft.com/fwlink/?LinkId=160658.
Properties
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 |
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. |
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) |
Methods
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) |
Events
Click |
Occurs when the user clicks the button. |