Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- PreviewPageInfo.cs
- SerializationInfoEnumerator.cs
- CompilerGlobalScopeAttribute.cs
- HandlerWithFactory.cs
- WindowsHyperlink.cs
- OAVariantLib.cs
- SQLDecimalStorage.cs
- DisableDpiAwarenessAttribute.cs
- ScriptDescriptor.cs
- PermissionSetTriple.cs
- CodeTypeDeclaration.cs
- StrokeCollection.cs
- RangeBaseAutomationPeer.cs
- LiteralSubsegment.cs
- SafeNativeMethods.cs
- DBSchemaRow.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- OracleConnectionFactory.cs
- BuildManagerHost.cs
- ObjectCacheSettings.cs
- FirstMatchCodeGroup.cs
- ContentOperations.cs
- XmlStreamStore.cs
- FrameworkContentElementAutomationPeer.cs
- ValueHandle.cs
- XmlDataSourceNodeDescriptor.cs
- Root.cs
- PropertyGridCommands.cs
- Message.cs
- SystemIPAddressInformation.cs
- DynamicArgumentDialog.cs
- TypeNameConverter.cs
- FixUpCollection.cs
- XPathBuilder.cs
- SQLDateTime.cs
- EmissiveMaterial.cs
- DiffuseMaterial.cs
- HttpResponseInternalWrapper.cs
- UmAlQuraCalendar.cs
- MultiView.cs
- SecurityManager.cs
- SaveFileDialog.cs
- WebConfigurationHost.cs
- DataGridViewUtilities.cs
- ParenthesizePropertyNameAttribute.cs
- InputLangChangeEvent.cs
- Choices.cs
- UserPersonalizationStateInfo.cs
- DrawingState.cs
- PnrpPermission.cs
- StringComparer.cs
- versioninfo.cs
- Button.cs
- Composition.cs
- ControlUtil.cs
- ProgressBar.cs
- SHA384.cs
- InvalidComObjectException.cs
- Control.cs
- XmlBinaryWriterSession.cs
- TypeResolver.cs
- KeyPullup.cs
- ControlBuilder.cs
- StorageModelBuildProvider.cs
- VisualTreeHelper.cs
- ButtonBaseAutomationPeer.cs
- SqlComparer.cs
- DataGrid.cs
- ProfileSettings.cs
- ShortcutKeysEditor.cs
- XmlSerializableReader.cs
- QueryLifecycle.cs
- DataError.cs
- XmlWriterTraceListener.cs
- ImageMap.cs
- AssociationSet.cs
- OdbcConnectionPoolProviderInfo.cs
- DecoderReplacementFallback.cs
- _DomainName.cs
- RC2.cs
- PropertyChangedEventArgs.cs
- StylusCollection.cs
- ExceptionUtil.cs
- InstanceDescriptor.cs
- RSAOAEPKeyExchangeDeformatter.cs
- SystemIPv4InterfaceProperties.cs
- ELinqQueryState.cs
- ParserHooks.cs
- SettingsPropertyWrongTypeException.cs
- ApplicationFileCodeDomTreeGenerator.cs
- EditingScope.cs
- FolderLevelBuildProviderCollection.cs
- LinqDataSourceSelectEventArgs.cs
- OracleRowUpdatingEventArgs.cs
- IntranetCredentialPolicy.cs
- DataReceivedEventArgs.cs
- ModelServiceImpl.cs
- SmtpAuthenticationManager.cs
- TextRangeEditLists.cs
- AttachedPropertyDescriptor.cs