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
- PageContentAsyncResult.cs
- OdbcCommandBuilder.cs
- QueryReaderSettings.cs
- InputQueueChannelAcceptor.cs
- MetadataItem_Static.cs
- QilValidationVisitor.cs
- BitmapEffectRenderDataResource.cs
- Pts.cs
- AddInSegmentDirectoryNotFoundException.cs
- IERequestCache.cs
- Convert.cs
- XmlReflectionImporter.cs
- ConfigXmlAttribute.cs
- DoubleAnimationBase.cs
- Profiler.cs
- HtmlInputReset.cs
- SQLDateTimeStorage.cs
- MobileUserControlDesigner.cs
- EdmSchemaAttribute.cs
- BuiltInExpr.cs
- WinFormsSecurity.cs
- SoapIgnoreAttribute.cs
- DataControlLinkButton.cs
- ParenthesizePropertyNameAttribute.cs
- TableLayoutPanel.cs
- HttpPostLocalhostServerProtocol.cs
- ParameterElement.cs
- WebPartRestoreVerb.cs
- WhitespaceRuleLookup.cs
- LZCodec.cs
- Object.cs
- XmlMapping.cs
- ListViewContainer.cs
- SafeArrayRankMismatchException.cs
- ScriptModule.cs
- FontCacheLogic.cs
- WebPartConnectionsCancelEventArgs.cs
- AlphabeticalEnumConverter.cs
- WebAdminConfigurationHelper.cs
- StrongNameUtility.cs
- DataListItem.cs
- XPathExpr.cs
- ProfileService.cs
- MouseCaptureWithinProperty.cs
- Win32Native.cs
- EnvelopedPkcs7.cs
- OutputCacheModule.cs
- TemplateNodeContextMenu.cs
- LinqDataSourceStatusEventArgs.cs
- InputMethodStateChangeEventArgs.cs
- ControlParser.cs
- EnumerableRowCollection.cs
- ChtmlTextWriter.cs
- Baml2006ReaderFrame.cs
- Panel.cs
- ScriptServiceAttribute.cs
- SQLBinary.cs
- CollectionBase.cs
- EdmToObjectNamespaceMap.cs
- Privilege.cs
- SByte.cs
- FilterQueryOptionExpression.cs
- EntityConnection.cs
- ExpressionEditor.cs
- CanonicalXml.cs
- ProviderCollection.cs
- PrivilegeNotHeldException.cs
- OpenCollectionAsyncResult.cs
- ImageFormatConverter.cs
- GeneralTransformCollection.cs
- CodeTypeParameterCollection.cs
- DefaultTextStore.cs
- AffineTransform3D.cs
- SpecularMaterial.cs
- Assert.cs
- FormViewDeletedEventArgs.cs
- GridViewColumn.cs
- SystemWebSectionGroup.cs
- OuterProxyWrapper.cs
- WinEventQueueItem.cs
- ResXResourceWriter.cs
- ArrayConverter.cs
- XmlSerializerVersionAttribute.cs
- DataStorage.cs
- InteropEnvironment.cs
- AsyncSerializedWorker.cs
- ElementsClipboardData.cs
- TypeLoadException.cs
- RuntimeResourceSet.cs
- Schema.cs
- WindowsFormsSectionHandler.cs
- TextChangedEventArgs.cs
- DocumentGridPage.cs
- CompensatableTransactionScopeActivity.cs
- Internal.cs
- Rotation3D.cs
- Message.cs
- WmlMobileTextWriter.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- followingquery.cs