Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / WinForms / Managed / System / WinForms / OSFeature.cs / 1 / 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
- SourceCollection.cs
- MemberDomainMap.cs
- WebScriptClientGenerator.cs
- CacheVirtualItemsEvent.cs
- CngKeyBlobFormat.cs
- SafeNativeMethodsMilCoreApi.cs
- XmlSchemaRedefine.cs
- Win32NamedPipes.cs
- FreezableCollection.cs
- CodeDOMUtility.cs
- GraphicsState.cs
- AppDomain.cs
- ParallelTimeline.cs
- XmlQueryContext.cs
- StandardCommands.cs
- SID.cs
- SecurityUtils.cs
- StateElement.cs
- TypefaceMap.cs
- ReadOnlyDataSourceView.cs
- IndicShape.cs
- UnionQueryOperator.cs
- SafeThreadHandle.cs
- ResourceBinder.cs
- XmlException.cs
- SubtreeProcessor.cs
- SerializationSectionGroup.cs
- WebPartCatalogAddVerb.cs
- SpecularMaterial.cs
- BitmapEffectInput.cs
- ErrorsHelper.cs
- BinaryReader.cs
- CompilerCollection.cs
- SafeLibraryHandle.cs
- PassportAuthenticationEventArgs.cs
- AssertSection.cs
- DBSchemaTable.cs
- EventSetter.cs
- _NestedSingleAsyncResult.cs
- CodeDomSerializerBase.cs
- MonitoringDescriptionAttribute.cs
- Geometry3D.cs
- ProviderConnectionPoint.cs
- AnnotationResourceChangedEventArgs.cs
- AuthenticationService.cs
- SafeThreadHandle.cs
- TextElementAutomationPeer.cs
- SetUserPreferenceRequest.cs
- XmlDataDocument.cs
- DeflateStream.cs
- ReturnType.cs
- AppDomainProtocolHandler.cs
- PresentationSource.cs
- EmptyQuery.cs
- CheckBoxField.cs
- PagePropertiesChangingEventArgs.cs
- Base64Encoder.cs
- ArrayWithOffset.cs
- MemoryStream.cs
- InputManager.cs
- ValueQuery.cs
- BooleanExpr.cs
- ResourceContainer.cs
- BrowserCapabilitiesCodeGenerator.cs
- IgnoreFileBuildProvider.cs
- GregorianCalendar.cs
- VectorConverter.cs
- Monitor.cs
- NamedObject.cs
- RectAnimationClockResource.cs
- TimeSpanValidator.cs
- DataGridState.cs
- __ComObject.cs
- storepermission.cs
- AutomationFocusChangedEventArgs.cs
- _LazyAsyncResult.cs
- AuthenticationModuleElementCollection.cs
- PowerModeChangedEventArgs.cs
- TransactionManager.cs
- DataSourceControlBuilder.cs
- DataListItemEventArgs.cs
- ModelProperty.cs
- SafeReversePInvokeHandle.cs
- ScriptingJsonSerializationSection.cs
- EntityViewGenerationAttribute.cs
- FrameworkReadOnlyPropertyMetadata.cs
- AnimatedTypeHelpers.cs
- GetCryptoTransformRequest.cs
- XhtmlBasicLinkAdapter.cs
- BindingContext.cs
- AlphaSortedEnumConverter.cs
- RuntimeTrackingProfile.cs
- Bits.cs
- IdentityNotMappedException.cs
- FacetValueContainer.cs
- IntSecurity.cs
- TextFormatterImp.cs
- URLString.cs
- Boolean.cs
- RuntimeConfig.cs