A newer version of this page is available. Switch to the current version.

WindowsFormsSettings.ForcePaintApiDiagnostics(PaintApiDiagnosticsLevel, PaintApiTraceLevelResolver) Method

Allows you to trace all outdated APIs that are not recommended for use with DirectX-rendered and Per-Monitor DPI-aware applications. Starting with version 18.2, also traces Appearance.BackColor properties modified for skinned UI elements.

Namespace: DevExpress.XtraEditors

Assembly: DevExpress.Utils.v19.1.dll

Declaration

public static void ForcePaintApiDiagnostics(
    PaintApiDiagnosticsLevel level,
    PaintApiTraceLevelResolver resolver = null
)
Public Shared Sub ForcePaintApiDiagnostics(
    level As PaintApiDiagnosticsLevel,
    resolver As PaintApiTraceLevelResolver = Nothing
)

Parameters

Name Type Description
level DevExpress.Utils.Diagnostics.PaintApiDiagnosticsLevel

A enumerator value that specifies how the application responds to this inadvisable API.

Optional Parameters

Name Type Default Description
resolver DevExpress.Utils.Diagnostics.PaintApiTraceLevelResolver

null

An optional object that allows you to implement a custom trace behavior.

Remarks

The ForcePaintApiDiagnostics method allows you to detect the following API:

  • the Appearance.BackColor property modified for skinned UI elements - this setting was not functional for versions 18.1 and older, but changes the element's background color starting with version 18.2. See Application Appearance and Skin Colors for the details.
  • Custom draw methods performed via the Graphics class methods. See DirectX Hardware Acceleration to learn more.

Use the Throw diagnostics level to throw exceptions whenever the unsupported/outdated code is detected.


WindowsFormsSettings.ForcePaintApiDiagnostics(PaintApiDiagnosticsLevel.Trace , (apiLevel, api) => {
    Console.WriteLine(apiLevel.ToString() + ": " + api);
});

Other available diagnostics levels:

  • Trace - unsupported APIs display result in warnings, displayed in Visual Studio's "Output" window;
  • Disable - ignores unsupported API;
  • Default - acts as "Trace" if DirectX and\or Per-Monitor HiDPI support is enabled; otherwise, as "Disable".
See Also