Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

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.v24.2.dll

NuGet Package: DevExpress.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 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