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
- ListView.cs
- keycontainerpermission.cs
- ApplicationServicesHostFactory.cs
- Quack.cs
- RegexGroup.cs
- Lease.cs
- SudsParser.cs
- OutputCacheEntry.cs
- EnumType.cs
- ResourceSetExpression.cs
- ApplicationServiceManager.cs
- TraceLog.cs
- SafeIUnknown.cs
- Semaphore.cs
- Nodes.cs
- BaseComponentEditor.cs
- Duration.cs
- ListBase.cs
- ObjectDataProvider.cs
- Scheduler.cs
- BindingObserver.cs
- Size.cs
- OleDbErrorCollection.cs
- BitHelper.cs
- AssociationTypeEmitter.cs
- VisualBasicImportReference.cs
- UncommonField.cs
- TreeNodeEventArgs.cs
- StateItem.cs
- SQLMoney.cs
- KoreanLunisolarCalendar.cs
- Matrix3DValueSerializer.cs
- NaturalLanguageHyphenator.cs
- OdbcConnectionPoolProviderInfo.cs
- SiteMapProvider.cs
- InputScopeManager.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- PolicyException.cs
- PositiveTimeSpanValidator.cs
- SByteStorage.cs
- RegisteredHiddenField.cs
- IconHelper.cs
- Token.cs
- CodeMemberProperty.cs
- FixedSOMPage.cs
- XmlEncodedRawTextWriter.cs
- XmlILAnnotation.cs
- CookieProtection.cs
- Metadata.cs
- HttpException.cs
- DPCustomTypeDescriptor.cs
- RangeValuePattern.cs
- InputProcessorProfilesLoader.cs
- GroupBox.cs
- ConversionContext.cs
- DataContext.cs
- BitmapEffectInputData.cs
- FontCollection.cs
- SecurityDocument.cs
- OperationResponse.cs
- MultipartIdentifier.cs
- Rectangle.cs
- DesignTimeTemplateParser.cs
- FormDocumentDesigner.cs
- TaskFileService.cs
- EditorPartCollection.cs
- PointCollection.cs
- BoundField.cs
- TrackingMemoryStream.cs
- SvcMapFileSerializer.cs
- IgnoreFileBuildProvider.cs
- SqlDependencyListener.cs
- StopRoutingHandler.cs
- CustomExpression.cs
- MimeWriter.cs
- IntSecurity.cs
- XmlSerializerOperationBehavior.cs
- ReferenceEqualityComparer.cs
- Parser.cs
- UndoUnit.cs
- Properties.cs
- UnsafeNativeMethods.cs
- TextBoxAutomationPeer.cs
- RenderDataDrawingContext.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- unsafenativemethodsother.cs
- PrefixHandle.cs
- SqlDataSourceSelectingEventArgs.cs
- OAVariantLib.cs
- objectresult_tresulttype.cs
- Types.cs
- StyleHelper.cs
- ImageListStreamer.cs
- Utils.cs
- QueryRewriter.cs
- BinaryMethodMessage.cs
- Exceptions.cs
- BooleanExpr.cs
- ContentDisposition.cs
- SystemWebExtensionsSectionGroup.cs