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
- XpsSerializerFactory.cs
- ProcessInfo.cs
- PageVisual.cs
- ImageDrawing.cs
- HttpResponseInternalWrapper.cs
- TrackingStringDictionary.cs
- ServicePointManager.cs
- DispatcherTimer.cs
- MetaDataInfo.cs
- SplayTreeNode.cs
- DataTableReader.cs
- SqlDataSourceFilteringEventArgs.cs
- Suspend.cs
- DefaultValidator.cs
- LineServicesRun.cs
- CodeAssignStatement.cs
- ReadOnlyObservableCollection.cs
- Baml2006ReaderSettings.cs
- SimpleColumnProvider.cs
- SystemSounds.cs
- XPathScanner.cs
- PersonalizationStateInfo.cs
- ChildTable.cs
- KeyConverter.cs
- HwndSource.cs
- FullTextLine.cs
- CheckableControlBaseAdapter.cs
- ErrorStyle.cs
- DetailsViewCommandEventArgs.cs
- RoleGroupCollection.cs
- BaseTemplateBuildProvider.cs
- ToolBarOverflowPanel.cs
- EventLogWatcher.cs
- IProvider.cs
- DSASignatureDeformatter.cs
- BaseCAMarshaler.cs
- UserControlCodeDomTreeGenerator.cs
- Propagator.JoinPropagator.JoinPredicateVisitor.cs
- HttpBrowserCapabilitiesWrapper.cs
- Boolean.cs
- RandomNumberGenerator.cs
- SpeakProgressEventArgs.cs
- CollectionViewSource.cs
- FlowDocument.cs
- NativeStructs.cs
- ReferentialConstraintRoleElement.cs
- WmpBitmapDecoder.cs
- ExtractCollection.cs
- RecipientInfo.cs
- References.cs
- SqlUtils.cs
- HitTestDrawingContextWalker.cs
- RequestSecurityTokenForRemoteTokenFactory.cs
- XmlLinkedNode.cs
- UpdateCommand.cs
- WebPartAuthorizationEventArgs.cs
- HyperLinkField.cs
- OutputCacheSettingsSection.cs
- AssociatedControlConverter.cs
- MasterPage.cs
- ElementHostAutomationPeer.cs
- ListBox.cs
- NavigationProgressEventArgs.cs
- Highlights.cs
- ArrayHelper.cs
- SqlDataReader.cs
- FloaterParaClient.cs
- XMLSchema.cs
- ControlCachePolicy.cs
- PagesChangedEventArgs.cs
- WorkflowTerminatedException.cs
- Grid.cs
- HtmlInputControl.cs
- Configuration.cs
- MasterPage.cs
- ActiveXSite.cs
- DeclarativeCatalogPartDesigner.cs
- TemplateComponentConnector.cs
- SpotLight.cs
- WindowsContainer.cs
- _RequestCacheProtocol.cs
- LocalBuilder.cs
- DataGridViewDataErrorEventArgs.cs
- XhtmlBasicImageAdapter.cs
- ToolStripLocationCancelEventArgs.cs
- SqlWebEventProvider.cs
- MimeObjectFactory.cs
- GifBitmapEncoder.cs
- BindingOperations.cs
- SettingsSection.cs
- ProfessionalColorTable.cs
- _ConnectStream.cs
- RelationshipEndCollection.cs
- IdentityManager.cs
- ExpressionStringBuilder.cs
- SourceInterpreter.cs
- XsdDuration.cs
- Version.cs
- HeaderUtility.cs
- WindowsNonControl.cs