OSFeature.IsPresent(SystemParameter) 方法

定义

检索一个值,该值指示操作系统是否支持指定的功能或规格。

public:
 static bool IsPresent(System::Windows::Forms::SystemParameter enumVal);
public static bool IsPresent (System.Windows.Forms.SystemParameter enumVal);
static member IsPresent : System.Windows.Forms.SystemParameter -> bool
Public Shared Function IsPresent (enumVal As SystemParameter) As Boolean

参数

enumVal
SystemParameter

SystemParameter,表示要搜索的功能。

返回

Boolean

如果功能在系统中可用,则为 true;否则为 false

示例

下面的代码示例演示如何将 IsPresent 该方法用于 SystemParameter 枚举。 该示例确定操作系统在调用SystemInformation.CaretWidth属性之前是否支持CaretWidth指标。

#using <System.dll>
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
using System;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
Imports System.Drawing
Imports System.ComponentModel
Imports System.Windows.Forms
// Gets the caret width based upon the operating system or default value.
int GetCaretWidth()
{
   // Check to see if the operating system supports the caret width metric. 
   if ( OSFeature::Feature->IsPresent( SystemParameter::CaretWidthMetric ) )
   {
      // If the operating system supports this metric,
      // return the value for the caret width metric. 
      return SystemInformation::CaretWidth;
   }
   else
         1;

   // If the operating system does not support this metric,
   // return a custom default value for the caret width.
}
// 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;
    }
}
' Gets the caret width based upon the operating system or default value.
Private Function GetCaretWidth() As Integer

    ' Check to see if the operating system supports the caret width metric. 
    If OSFeature.IsPresent(SystemParameter.CaretWidthMetric) Then

        ' 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
    End If
End Function

注解

通常,使用 IsPresent 此方法确定操作系统是否支持通过 enumValue标识的特定功能或指标。 根据从中 IsPresent返回的值,你将在代码中执行条件操作。 例如,如果使用返回true的参数值FlatMenu调用此方法,则可以在应用程序中以平面样式创建所有者绘制的菜单。

如果某些系统功能或指标在特定操作系统版本上不可用,则访问某些系统功能或指标可能会引发异常。 在这种情况下,首先使用相应的 SystemParameter 枚举值以及 IsPresent确定是否支持指标。 例如,在获取SystemInformation.CaretWidth属性值之前调用IsPresentCaretWidth

适用于

另请参阅