Skip to main content

WindowControlOptions.ImageType Property

Gets or sets whether to render a control inside the PrintableComponentContainer as a bitmap or metafile.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v24.1.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

[DefaultValue(WinControlImageType.Metafile)]
public WinControlImageType ImageType { get; set; }

Property Value

Type Default Description
WinControlImageType Metafile

An enumeration value that specifies whether to render a control inside the PrintableComponentContainer as a bitmap or metafile.

Property Paths

You can access this nested property as listed below:

Object Type Path to ImageType
PrintableComponentContainer
.WindowControlOptions .ImageType

Remarks

This property is in effect when a control inside the PrintableComponentContainer is rendered as an image. See the PrintMode property description for more information.

Use the ImageType property to specify whether to render a control inside the container as a metafile image or as a bitmap. A meta file’s image quality is always good, but certain parts of the control may be lost. A bitmap’s quality may be poorer, but a control is rendered more accurately.

The following images demonstrate how controls are rendered to metafiles or bitmaps.

System.Windows.Forms control ImageType = Metafile ImageType = Bitmap
Button WinControl.Button.Metafile.png WinControl.Button.Bitmap.png
TextBox with some text WinControl.TextBox.Metafile.png WinControl.TextBox.Bitmap.png

Note

To ensure Microsoft Azure compatibility, set the ImageType property to WinControlImageType.Bitmap or set the AzureCompatibility.Enable property to true.

Example

The code sample below creates a DataGridView control instance and adds this instance to a report. The sample specifies that the DataGridView control is printed as a bitmap image.

using DevExpress.XtraReports.UI;
using System.Windows.Forms;
// ...
// Create an XtraReport instance.
XtraReport report = new XtraReport()
{
    Bands = {
        new DetailBand()
    }
};
// Create a DataGrid control instance.
DataGridView dataGridView = new DataGridView();
// Create a PrintableComponentContainer instance for the data grid.
PrintableComponentContainer printableComponentContainer = new PrintableComponentContainer();
// Place the data grid inside the printable component container.
printableComponentContainer.WinControl = dataGridView;
// Specify that the control inside the printable component container is always printed as an image.
printableComponentContainer.PrintMode = WinControlPrintMode.AsImage;
// Specify that the control inside the printable component container is always printed as a bitmap.
printableComponentContainer.WindowControlOptions.ImageType = WinControlImageType.Bitmap;
// Add the printable component container to the report.
report.Bands[BandKind.Detail].Controls.Add(printableComponentContainer);
See Also