OSFeature.IsPresent(SystemParameter) Method

Definition

Retrieves a value indicating whether the operating system supports the specified feature or metric.

C#
public static bool IsPresent(System.Windows.Forms.SystemParameter enumVal);

Parameters

enumVal
SystemParameter

A SystemParameter representing the feature to search for.

Returns

true if the feature is available on the system; otherwise, false.

Examples

The following code example demonstrates how to use the IsPresent method with the SystemParameter enumeration. The example determines if the operating system supports the CaretWidth metric before calling the SystemInformation.CaretWidth property.

C#
using System;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
C#
// Gets the caret width based upon the operating system or default value.
private int GetCaretWidth ()
{    

    // Check to see if the operating system supports the caret width metric. 
    if (OSFeature.IsPresent(SystemParameter.CaretWidthMetric))
    {

        // If the operating system supports this metric,
        // return the value for the caret width metric. 

        return SystemInformation.CaretWidth;
    } else
    {

        // If the operating system does not support this metric,
        // return a custom default value for the caret width.

        return 1;
    }
}

Remarks

Typically, you use the IsPresent method to determine if the operating system supports the specific feature or metric identified by enumValue. Based upon the value returned from IsPresent, you would perform conditional actions in your code. For example, if calling this method with a parameter value of FlatMenu returns true, you could create owner-drawn menus in your application in a flat style.

Accessing some system features or metrics can raise exceptions if they are not available on a specific operating system version. In this case, first use the corresponding SystemParameter enumeration value, along with IsPresent, to determine if the metric is supported. For example, call IsPresent with CaretWidth before getting the SystemInformation.CaretWidth property value.

Applies to

Product Versions
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

See also