Share via


RibbonBase.LoadImage Event

Definition

Occurs when the RibbonBase loads, if the ImageName property is set for one or more controls.

public:
 event Microsoft::Office::Tools::Ribbon::RibbonLoadImageEventHandler ^ LoadImage;
public event Microsoft.Office.Tools.Ribbon.RibbonLoadImageEventHandler LoadImage;
member this.LoadImage : Microsoft.Office.Tools.Ribbon.RibbonLoadImageEventHandler 
Public Custom Event LoadImage As RibbonLoadImageEventHandler 

Event Type

Examples

The following example caches the images for two RibbonButton controls.

To run this code example, you must first perform the following steps:

  • Add a Ribbon (Visual Designer) to an Office project.

  • If you are using a Visual Basic project, add the following statement to the top of the Ribbon code file: Imports Microsoft.Office.Tools.Ribbon

You can then run this code in the generated Ribbon class.

Private Sub Ribbon1_LoadImage(sender As Object, e As RibbonLoadImageEventArgs)  
   Select Case e.ImageName  
      Case "Button1Image"  
         e.Image = My.Resources.Image1  
      Case "Button2Image"  
         e.Image = My.Resources.Image2  
   End Select  
End Sub  
private void Ribbon1_LoadImage(object sender, RibbonLoadImageEventArgs e)  
{  
    switch (e.ImageName)  
    {  
        case "Button1Image":  
            e.Image = Properties.Resources.Image1;  
            break;  
        case "Button2Image":  
            e.Image = Properties.Resources.Image2;  
            break;  
    }  
}  

Remarks

The LoadImage event enables you to cache images in the Ribbon customization, which can improve performance.

By default, an image is loaded into the Ribbon every time the user displays a tab that contains the image. An image is reloaded any time that you programmatically change the properties of a control on which the image appears.

Use the LoadImage event to assign an image to a control. When the user selects a tab on the Ribbon, the Microsoft Office application uses the cached image. If you modify a control property at run time, the Microsoft Office application will not reload the image on the control. This can give you a small performance gain.

If you want to cache the image of a control, set the ImageName property of the control. The LoadImage event is not raised unless you set the ImageName property of at least one control.

Applies to