How to create your own component for FastReport .NET

2021-05-14

The FastReport .NET report generator offers broad opportunities for customization, that is, configuring for your own needs. From the user application code, you may create your own components of the report generator, using the FastReport libraries. Thus, you may create your own report designer and its viewer.

Also, you may change dialog windows in the report designer, for example, a window of file saving.

However, the truly limitless opportunities for customization are provided by the source code of the report generator. You may reconfigure current functions for your needs or add new ones. Today, we will speak about how to add your own control element to the toolbox in the report designer.

Let us assume that you frequently use a text object with certain settings in your reports. It would be convenient to have a configured object “text” with a certain font or color highlighting, not to set these properties manually every time.

You will just have to create your own object! For that, it is sufficient to inherit your object from the existing one, broadening its functions or creating new ones.

To create your own component for the report, you need the source code of the report generator FastReport .NET. Let us consider the case of creating your own object based on the Text object. For that, add a new class to the root of the FastReport project:

 public class CustomerTextObject : TextObject
 {
 public override void OnBeforeInsert(int flags)
 {
 base.OnBeforeInsert(flags);
 Border.Lines = BorderLines.All;
 }
 }

In this class, we have redefined the event before inserting the object, in which we set the default value for the object boundaries. Thus, our text object will have incorporated boundaries from the very beginning. If you need to set any other properties of the object – no problem. Let us set the color:

public override void OnBeforeInsert(int flags)
 {
 base.OnBeforeInsert(flags);
 Border.Lines = BorderLines.All;
 TextColor = System.Drawing.Color.Gray;
 }

If you want to create an object with your own functionality, inherit from the base class ReportComponentBase. But in that case, besides the object properties and behavior, you will have to make rendering – the Draw() method. Then you evoke base.Draw() in it and add drawing of the object.

Let us consider the example of rendering a Text object:

public override void Draw(FRPaintEventArgs e)
 {
 base.Draw(e);
 DrawText(e);
 DrawMarkers(e);
 Border.Draw(e, new RectangleF(AbsLeft, AbsTop, Width, Height));
 DrawDesign(e);
 }

As you can see, several methods at a time are evoked here: for rendering the text, the markers, the boundaries, and the editor.

After creating your object, you should register it so that it appears in the toolbox in the report designer. To do that, use the method FastReport.Utils.RegisteredObjects.Add() in class AssemblyInitializer.cs.

The example of registering the object we have created:

RegisteredObjects.Add(typeof(CustomerTextObject), “ReportPage”, 120, 1);

All parameters are in order: the name of the registered object, the name of the object of a report page, the identifier of the object icon, the ordinal number of the object in the toolbox. The icons are stored in resources. You may add your image in the bmp format into the resources or send it directly to the method parameter instead of the icon identifier.

Now you can compile the solution and start the report designer. One more control appears in the toolbox:

The object in the report designer

We used the icon of the Text object, that is why it looks the same. Now we add it to the report page and enter the text:

The “Text” object

As we can see, both the frames and the text color correspond to our settings in the code. We have created a “custom” object “Text” with preset boundaries and text color. With this method, you can configure any existing object in the report or create your own one.

.NET .NET FastReport FastReport
September 21, 2026

How to Configure an AI Agent for FastReport .NET: Architecture, Limitations, and Report Migration

AI feature for FastReport .NET: automated migration of reports from Crystal Reports and StimulSoft, refactoring for .NET 8/9, template generation, and protection against data leaks.
September 08, 2026

Answers to Frequently Asked Questions about the FP3 Format

We'll break down 11 common questions about the FP3 format: what these files are, how they differ from FR3 files, which programs can open them, and how to convert them to PDF.
September 04, 2026

How to export a report from FastReport .NET to DXF

In this article, we will consider methods of exporting a report to the DXF format, and also see what the resulting output looks like after opening the file in a CAD application.

© 1998-2026 Fast Reports Inc.