Skip to main content
A newer version of this page is available. .

WindowControlOptions.DrawMethod Property

Gets or sets which message should be used to paint a control inside the PrintableComponentContainer.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v20.1.dll

NuGet Packages: DevExpress.Reporting.Core, DevExpress.WindowsDesktop.Reporting.Core

Declaration

[DefaultValue(WinControlDrawMethod.UseWMPaint)]
public WinControlDrawMethod DrawMethod { get; set; }

Property Value

Type Default Description
WinControlDrawMethod UseWMPaint

The message that should be used to paint a control inside the PrintableComponentContainer.

Available values:

Name Description
UseWMPaint

Use the WM_PAINT message to draw the Windows Forms control.

UseWMPrint

Use the WM_PRINT message to draw the Windows Forms control.

UseWMPaintRecursive

Use the WM_PAINT message to recursively draw the Windows Forms control and all its child controls.

UseWMPrintRecursive

Use the WM_PRINT message to recursively draw the Windows Forms control and all its child controls.

Property Paths

You can access this nested property as listed below:

Object Type Path to DrawMethod
PrintableComponentContainer
.WindowControlOptions .DrawMethod

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 System.Windows.Forms;
using DevExpress.XtraReports.UI;
// ...
// Create an XtraReport instance.
XtraReport report = new XtraReport() {
    Bands = {
        new DetailBand()
    }
};
// Create a DataGridView 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.PrintableComponent = dataGridView;
// Specify that the WM_PRINT message is used to print the control inside the printable component container.
printableComponentContainer.WindowControlOptions.DrawMethod = WinControlDrawMethod.UseWMPrint;
// Specify that the control inside the printable component container is always printed as an image.
printableComponentContainer.WindowControlOptions.PrintMode = WinControlPrintMode.AsImage;
// Specify that the printed image is a bitmap, not a metafile.
printableComponentContainer.WindowControlOptions.ImageType = WinControlImageType.Bitmap;
// Add the printable component container to the report.
report.Bands[BandKind.Detail].Controls.Add(printableComponentContainer);
See Also