FeatureSupport Class
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Use the static methods of this class when the classes you query for feature information implement the IFeatureSupport interface. Otherwise, inherit from FeatureSupport and provide your own implementation. For an implementation of this class, see OSFeature.
To get the version number of a feature, call GetVersionPresent. Call IsPresent to determine if a particular feature or version of a feature is installed.
Notes to Inheritors When you inherit from FeatureSupport, you must override the GetVersionPresent method. When you override this method, check that the class that you use for the feature parameter is the same as the class used for this parameter in the IsPresent method. If the two feature parameters differ, you also must override IsPresent.The following example uses the OSFeature implementation of FeatureSupport and queries for the LayeredWindows feature. The version is checked to see if it is a null reference (Nothing in Visual Basic), to determine whether the feature is present. The result is displayed in a text box. This code assumes textBox1 has been created and placed on a form.
Private Sub LayeredWindows() ' Gets the version of the layered windows feature. Dim myVersion As Version = _ OSFeature.Feature.GetVersionPresent(OSFeature.LayeredWindows) ' Prints whether the feature is available. If Not (myVersion Is Nothing) Then textBox1.Text = "Layered windows feature is installed." & _ ControlChars.CrLf Else textBox1.Text = "Layered windows feature is not installed." & _ ControlChars.CrLf End If 'This is an alternate way to check whether a feature is present. If OSFeature.Feature.IsPresent(OSFeature.LayeredWindows) Then textBox1.Text &= "Again, layered windows feature is installed." Else textBox1.Text &= "Again, layered windows feature is not installed." End If End Sub
private void LayeredWindows()
{
// Gets the version of the layered windows feature.
Version myVersion = OSFeature.get_Feature().GetVersionPresent
(OSFeature.LayeredWindows);
// Prints whether the feature is available.
if (myVersion != null) {
textBox1.set_Text("Layered windows feature is installed."
+ '\n');
}
else {
textBox1.set_Text("Layered windows feature is not installed."
+ '\n');
}
// This is an alternate way to check whether a feature is present.
if (OSFeature.get_Feature().IsPresent(OSFeature.LayeredWindows)) {
textBox1.set_Text(textBox1.get_Text()
+ "Again, layered windows feature is installed.");
}
else {
textBox1.set_Text(textBox1.get_Text()
+ "Again, layered windows feature is not installed.");
}
} //LayeredWindows
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.