Back to Devexpress

Rename Toolbox Items in the End-User Report Designer

xtrareports-8681-desktop-reporting-winforms-reporting-end-user-report-designer-for-winforms-api-and-customization-rename-toolbox-items-in-end-user-report-designer.md

latest3.3 KB
Original Source

Rename Toolbox Items in the End-User Report Designer

  • Aug 18, 2023
  • 2 minutes to read

This example illustrates how to rename toolbox items in an End-User Report Designer by handling the XRDesignMdiController.DesignPanelLoaded event and accessing the toolbox service.

csharp
using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.UserDesigner;
using System.Drawing.Design;
// ...

private void button1_Click(object sender, System.EventArgs e) {
    // Create a Design Tool with an assigned report instance.
    ReportDesignTool designTool = new ReportDesignTool(new XtraReport1());

    // Access the standard or ribbon-based Designer form.
    //IDesignForm designForm = designTool.DesignForm;
    IDesignForm designForm = designTool.DesignRibbonForm;

    // Handle the Design Panel's Loaded event.
    designForm.DesignMdiController.DesignPanelLoaded += DesignMdiController_DesignPanelLoaded;

    // Load a Report Designer in a dialog window.
    // designTool.ShowDesignerDialog();
    designTool.ShowRibbonDesignerDialog();
}

void DesignMdiController_DesignPanelLoaded(object sender, DesignerLoadedEventArgs e) {
    // Access the Toolbox service.
    IToolboxService toolboxService = 
        (IToolboxService)e.DesignerHost.GetService(typeof(IToolboxService));

    // Access the collection of toolbox items.
    ToolboxItemCollection toolboxItems = toolboxService.GetToolboxItems();

    // Iterate through toolbox items and customize their names.
    foreach (ToolboxItem item in toolboxItems) {
        item.DisplayName = "Custom " + item.DisplayName;
    }
}
vb
Imports DevExpress.XtraReports.UI
Imports DevExpress.XtraReports.UserDesigner
Imports System.Drawing.Design
' ...

Private Sub button1_Click(sender As Object, e As System.EventArgs)
    ' Create a Design Tool with an assigned report instance.
    Dim designTool As New ReportDesignTool(New XtraReport1())

    ' Access the standard or ribbon-based Designer form.
    ' Dim designForm As IDesignForm = designTool.DesignForm
    Dim designForm As IDesignForm = designTool.DesignRibbonForm

    ' Handle the Design Panel's Loaded event.
    AddHandler designForm.DesignMdiController.DesignPanelLoaded, _ 
        AddressOf DesignMdiController_DesignPanelLoaded

    ' Load a Report Designer in a dialog window.
    ' designTool.ShowDesignerDialog()
    designTool.ShowRibbonDesignerDialog()
End Sub

Private Sub DesignMdiController_DesignPanelLoaded(sender As Object, e As DesignerLoadedEventArgs)
    ' Access the Toolbox service.
    Dim toolboxService As IToolboxService = _ 
        DirectCast(e.DesignerHost.GetService(GetType(IToolboxService)), IToolboxService)

    ' Access the collection of toolbox items.
    Dim toolboxItems As ToolboxItemCollection = toolboxService.GetToolboxItems()

    ' Iterate through toolbox items and customize their names.
    For Each item As ToolboxItem In toolboxItems
        item.DisplayName = "Custom " + item.DisplayName
    Next
End Sub

See Also

Add a Custom Control to the End-User Report Designer Toolbox