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
- RootCodeDomSerializer.cs
- Rotation3DAnimationUsingKeyFrames.cs
- UseAttributeSetsAction.cs
- ArrayConverter.cs
- ProviderConnectionPoint.cs
- FormViewPagerRow.cs
- ObjectListTitleAttribute.cs
- NameSpaceExtractor.cs
- Container.cs
- MachineKeyConverter.cs
- DesignerDataConnection.cs
- SettingsPropertyCollection.cs
- Throw.cs
- ConfigurationManager.cs
- SchemaName.cs
- ComponentDesigner.cs
- TerminatorSinks.cs
- RadioButtonBaseAdapter.cs
- CalendarDay.cs
- XmlComment.cs
- ColorAnimation.cs
- CultureTable.cs
- RewritingValidator.cs
- QueryCacheKey.cs
- BufferedGraphicsContext.cs
- StrongNamePublicKeyBlob.cs
- ISAPIApplicationHost.cs
- DispatchWrapper.cs
- TextEffectCollection.cs
- MethodExpression.cs
- SqlConnectionPoolProviderInfo.cs
- InvalidDataContractException.cs
- WebServiceData.cs
- AlternateViewCollection.cs
- DocumentPageView.cs
- DbModificationClause.cs
- MatrixKeyFrameCollection.cs
- COM2PictureConverter.cs
- ChannelSinkStacks.cs
- TextBoxAutomationPeer.cs
- DnsElement.cs
- AndMessageFilter.cs
- Translator.cs
- DataSourceSelectArguments.cs
- WorkItem.cs
- ToolStripRenderEventArgs.cs
- MenuCommandsChangedEventArgs.cs
- WindowsTooltip.cs
- GeometryHitTestResult.cs
- HttpRuntimeSection.cs
- StylusPointProperties.cs
- PointAnimationUsingPath.cs
- FilterQueryOptionExpression.cs
- NameValuePair.cs
- ZoneIdentityPermission.cs
- KeyPressEvent.cs
- EventLogInformation.cs
- TreeNodeBinding.cs
- AnnotationComponentManager.cs
- BridgeDataReader.cs
- Dispatcher.cs
- ShapingWorkspace.cs
- HostExecutionContextManager.cs
- RecognizedWordUnit.cs
- TextEffect.cs
- FixedStringLookup.cs
- FactoryId.cs
- ConnectionsZoneDesigner.cs
- DeviceContexts.cs
- Rotation3D.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- ConfigsHelper.cs
- ComponentSerializationService.cs
- CollectionViewGroupRoot.cs
- _Connection.cs
- httpstaticobjectscollection.cs
- _BufferOffsetSize.cs
- GestureRecognitionResult.cs
- LinkedResource.cs
- RouteTable.cs
- Win32MouseDevice.cs
- AutoSizeToolBoxItem.cs
- XmlReflectionImporter.cs
- SafeNativeMethodsMilCoreApi.cs
- ProcessHostConfigUtils.cs
- ApplicationFileCodeDomTreeGenerator.cs
- PTConverter.cs
- RequestNavigateEventArgs.cs
- SecurityDocument.cs
- Evidence.cs
- VirtualDirectoryMapping.cs
- XmlQueryContext.cs
- CryptoApi.cs
- _IPv4Address.cs
- BookmarkScopeInfo.cs
- ConfigXmlText.cs
- ConfigXmlReader.cs
- TextDecoration.cs
- RSAOAEPKeyExchangeFormatter.cs
- DynamicMethod.cs