RibbonBase.LoadImage Event


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

Namespace:   Microsoft.Office.Tools.Ribbon
Assembly:  Microsoft.Office.Tools.Common.v4.0.Utilities (in Microsoft.Office.Tools.Common.v4.0.Utilities.dll)

public event RibbonLoadImageEventHandler LoadImage

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.

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 void Ribbon1_LoadImage(object sender, RibbonLoadImageEventArgs e)
    switch (e.ImageName)
        case "Button1Image":
            e.Image = Properties.Resources.Image1;
        case "Button2Image":
            e.Image = Properties.Resources.Image2;
Return to top