Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / OSFeature.cs / 1305376 / OSFeature.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System.Configuration.Assemblies; using System.Diagnostics; using System; using System.Security; using System.Security.Permissions; ////// /// public class OSFeature : FeatureSupport { ///Provides operating-system specific feature queries. ////// /// public static readonly object LayeredWindows = new object(); ///Represents the layered, top-level windows feature. This /// ///field is read-only. /// /// public static readonly object Themes = new object(); private static OSFeature feature = null; private static bool themeSupportTested = false; private static bool themeSupport = false; ///Determines if the OS supports themes ////// /// /// protected OSFeature() { } ////// Initializes a new instance of the ///class. /// /// /// /// public static OSFeature Feature { get { if (feature == null) feature = new OSFeature(); return feature; } } ///Represents the ///instance of to use for feature queries. This property is read-only. /// /// public override Version GetVersionPresent(object feature) { Version featureVersion = null; if (feature == LayeredWindows) { if (Environment.OSVersion.Platform == System.PlatformID.Win32NT && Environment.OSVersion.Version.CompareTo(new Version(5, 0, 0, 0)) >= 0) { featureVersion = new Version(0, 0, 0, 0); } } else if (feature == Themes) { if (!themeSupportTested) { try { SafeNativeMethods.IsAppThemed(); themeSupport = true; } catch { themeSupport = false; } themeSupportTested = true; } if (themeSupport) { featureVersion = new Version(0, 0, 0, 0); } } return featureVersion; } internal bool OnXp { get { bool onXp = false; if (Environment.OSVersion.Platform == System.PlatformID.Win32NT) { onXp = Environment.OSVersion.Version.CompareTo(new Version(5, 1, 0, 0)) >= 0; } return onXp; } } internal bool OnWin2k { get { bool onWin2k = false; if (Environment.OSVersion.Platform == System.PlatformID.Win32NT) { onWin2k = Environment.OSVersion.Version.CompareTo(new Version(5, 0, 0, 0)) >= 0; } return onWin2k; } } ///Retrieves the version of the specified feature currently available on the system. ////// /// public static bool IsPresent(SystemParameter enumVal) { switch (enumVal) { case SystemParameter.DropShadow: return Feature.OnXp; case SystemParameter.FlatMenu: return Feature.OnXp; case SystemParameter.FontSmoothingContrastMetric: return Feature.OnXp; case SystemParameter.FontSmoothingTypeMetric: return Feature.OnXp; case SystemParameter.MenuFadeEnabled: return Feature.OnWin2k; case SystemParameter.SelectionFade: return Feature.OnWin2k; case SystemParameter.ToolTipAnimationMetric: return Feature.OnWin2k; case SystemParameter.UIEffects: return Feature.OnWin2k; case SystemParameter.CaretWidthMetric: return Feature.OnWin2k; case SystemParameter.VerticalFocusThicknessMetric: return Feature.OnXp; case SystemParameter.HorizontalFocusThicknessMetric: return Feature.OnXp; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //Retrieves whether SystemParameterType is supported on the Current OS version. ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System.Configuration.Assemblies; using System.Diagnostics; using System; using System.Security; using System.Security.Permissions; ////// /// public class OSFeature : FeatureSupport { ///Provides operating-system specific feature queries. ////// /// public static readonly object LayeredWindows = new object(); ///Represents the layered, top-level windows feature. This /// ///field is read-only. /// /// public static readonly object Themes = new object(); private static OSFeature feature = null; private static bool themeSupportTested = false; private static bool themeSupport = false; ///Determines if the OS supports themes ////// /// /// protected OSFeature() { } ////// Initializes a new instance of the ///class. /// /// /// /// public static OSFeature Feature { get { if (feature == null) feature = new OSFeature(); return feature; } } ///Represents the ///instance of to use for feature queries. This property is read-only. /// /// public override Version GetVersionPresent(object feature) { Version featureVersion = null; if (feature == LayeredWindows) { if (Environment.OSVersion.Platform == System.PlatformID.Win32NT && Environment.OSVersion.Version.CompareTo(new Version(5, 0, 0, 0)) >= 0) { featureVersion = new Version(0, 0, 0, 0); } } else if (feature == Themes) { if (!themeSupportTested) { try { SafeNativeMethods.IsAppThemed(); themeSupport = true; } catch { themeSupport = false; } themeSupportTested = true; } if (themeSupport) { featureVersion = new Version(0, 0, 0, 0); } } return featureVersion; } internal bool OnXp { get { bool onXp = false; if (Environment.OSVersion.Platform == System.PlatformID.Win32NT) { onXp = Environment.OSVersion.Version.CompareTo(new Version(5, 1, 0, 0)) >= 0; } return onXp; } } internal bool OnWin2k { get { bool onWin2k = false; if (Environment.OSVersion.Platform == System.PlatformID.Win32NT) { onWin2k = Environment.OSVersion.Version.CompareTo(new Version(5, 0, 0, 0)) >= 0; } return onWin2k; } } ///Retrieves the version of the specified feature currently available on the system. ////// /// public static bool IsPresent(SystemParameter enumVal) { switch (enumVal) { case SystemParameter.DropShadow: return Feature.OnXp; case SystemParameter.FlatMenu: return Feature.OnXp; case SystemParameter.FontSmoothingContrastMetric: return Feature.OnXp; case SystemParameter.FontSmoothingTypeMetric: return Feature.OnXp; case SystemParameter.MenuFadeEnabled: return Feature.OnWin2k; case SystemParameter.SelectionFade: return Feature.OnWin2k; case SystemParameter.ToolTipAnimationMetric: return Feature.OnWin2k; case SystemParameter.UIEffects: return Feature.OnWin2k; case SystemParameter.CaretWidthMetric: return Feature.OnWin2k; case SystemParameter.VerticalFocusThicknessMetric: return Feature.OnXp; case SystemParameter.HorizontalFocusThicknessMetric: return Feature.OnXp; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Retrieves whether SystemParameterType is supported on the Current OS version. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScopelessEnumAttribute.cs
- DesignerUtils.cs
- ToggleProviderWrapper.cs
- SurrogateDataContract.cs
- SqlDataSourceSelectingEventArgs.cs
- ContextInformation.cs
- CorrelationResolver.cs
- ItemCheckEvent.cs
- GPPOINTF.cs
- RayMeshGeometry3DHitTestResult.cs
- HatchBrush.cs
- DiagnosticEventProvider.cs
- CollectionViewSource.cs
- HeaderCollection.cs
- Shape.cs
- MessageTraceRecord.cs
- OptimizedTemplateContent.cs
- DivideByZeroException.cs
- SplitterPanel.cs
- IndicFontClient.cs
- DataProtectionSecurityStateEncoder.cs
- XmlSignatureManifest.cs
- ProcessModule.cs
- CookieHandler.cs
- EntityDataSourceSelectingEventArgs.cs
- XmlSchemaFacet.cs
- IntegrationExceptionEventArgs.cs
- HandlerBase.cs
- DurationConverter.cs
- ExpressionBinding.cs
- xmlsaver.cs
- Renderer.cs
- WebControlAdapter.cs
- StyleCollection.cs
- DiscreteKeyFrames.cs
- XmlEncodedRawTextWriter.cs
- GroupBoxRenderer.cs
- EdmMember.cs
- ResourceBinder.cs
- XmlFormatExtensionPointAttribute.cs
- SimpleBitVector32.cs
- RealProxy.cs
- WindowsAuthenticationEventArgs.cs
- VariantWrapper.cs
- SortedSetDebugView.cs
- ThicknessAnimationUsingKeyFrames.cs
- TogglePatternIdentifiers.cs
- DBConnection.cs
- LogWriteRestartAreaAsyncResult.cs
- TimestampInformation.cs
- XhtmlBasicPhoneCallAdapter.cs
- ValidationPropertyAttribute.cs
- CompilationPass2TaskInternal.cs
- EncoderExceptionFallback.cs
- Model3D.cs
- StrokeSerializer.cs
- AmbientLight.cs
- OrderedDictionaryStateHelper.cs
- StringToken.cs
- RightNameExpirationInfoPair.cs
- SwitchLevelAttribute.cs
- EdmItemCollection.cs
- OleDbPermission.cs
- HandlerMappingMemo.cs
- ErrorsHelper.cs
- Point4DValueSerializer.cs
- ContentDisposition.cs
- StorageComplexTypeMapping.cs
- OptionUsage.cs
- InvalidComObjectException.cs
- CompositeActivityTypeDescriptor.cs
- cookiecontainer.cs
- PropertyGridEditorPart.cs
- CopyOfAction.cs
- ValueTypeFixupInfo.cs
- TextEndOfLine.cs
- IssuedSecurityTokenParameters.cs
- InkCanvasFeedbackAdorner.cs
- WebPartDisplayModeCollection.cs
- SafeNativeMethods.cs
- EntityParameterCollection.cs
- ContentHostHelper.cs
- XamlToRtfWriter.cs
- DataViewManager.cs
- EditorZoneBase.cs
- WebResourceAttribute.cs
- SocketManager.cs
- RectangleGeometry.cs
- ToolStripContentPanel.cs
- AsymmetricSignatureDeformatter.cs
- ProtectedConfiguration.cs
- SafeRightsManagementPubHandle.cs
- DbInsertCommandTree.cs
- DataBinder.cs
- PackagePart.cs
- CatalogPartChrome.cs
- RedistVersionInfo.cs
- ActivityTypeResolver.xaml.cs
- ImportContext.cs
- SharedPerformanceCounter.cs