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
- ArgIterator.cs
- Memoizer.cs
- EntityDesignerBuildProvider.cs
- PreviewPageInfo.cs
- RequestChannel.cs
- CriticalFinalizerObject.cs
- ListView.cs
- DependencyStoreSurrogate.cs
- InfiniteIntConverter.cs
- GB18030Encoding.cs
- SID.cs
- ContainerVisual.cs
- TableColumnCollectionInternal.cs
- ErrorEventArgs.cs
- TextBlockAutomationPeer.cs
- Mapping.cs
- ImpersonateTokenRef.cs
- OpenTypeCommon.cs
- HeaderedItemsControl.cs
- ConsumerConnectionPoint.cs
- WindowsIdentity.cs
- HtmlTableCellCollection.cs
- CodeObject.cs
- TagMapInfo.cs
- MeasureData.cs
- CodeTryCatchFinallyStatement.cs
- BinaryParser.cs
- TextTreeInsertUndoUnit.cs
- Dynamic.cs
- Activator.cs
- ApplicationException.cs
- DesignerForm.cs
- NamespaceEmitter.cs
- TypeSystem.cs
- EditingMode.cs
- DataListItemCollection.cs
- EncoderReplacementFallback.cs
- InputLangChangeEvent.cs
- EncryptedKey.cs
- Setter.cs
- MissingSatelliteAssemblyException.cs
- RelatedImageListAttribute.cs
- Semaphore.cs
- WebException.cs
- SplitterEvent.cs
- SuppressMergeCheckAttribute.cs
- CommonObjectSecurity.cs
- Substitution.cs
- NamedPipeChannelFactory.cs
- Content.cs
- MaskedTextProvider.cs
- PrintControllerWithStatusDialog.cs
- FontFamilyIdentifier.cs
- ToolStripGripRenderEventArgs.cs
- FilteredSchemaElementLookUpTable.cs
- XPathDocumentBuilder.cs
- XPathNodeHelper.cs
- SimpleWebHandlerParser.cs
- DataListDesigner.cs
- DecoderReplacementFallback.cs
- Point3DKeyFrameCollection.cs
- BooleanConverter.cs
- AssemblyUtil.cs
- WorkflowInstance.cs
- EventSetter.cs
- EtwTrace.cs
- WindowShowOrOpenTracker.cs
- DiscoveryReferences.cs
- ServiceManager.cs
- UserValidatedEventArgs.cs
- ResourceManager.cs
- HtmlElementEventArgs.cs
- InputReport.cs
- HtmlMeta.cs
- Models.cs
- SqlClientWrapperSmiStreamChars.cs
- PaperSource.cs
- oledbmetadatacolumnnames.cs
- Component.cs
- CharAnimationBase.cs
- SendAgentStatusRequest.cs
- Options.cs
- PerspectiveCamera.cs
- MetricEntry.cs
- SafeNativeMethods.cs
- LambdaCompiler.Expressions.cs
- ClientCultureInfo.cs
- SrgsDocumentParser.cs
- SocketInformation.cs
- CodeArrayIndexerExpression.cs
- FontStyles.cs
- TextTreeTextElementNode.cs
- ScriptReferenceBase.cs
- ContentPlaceHolder.cs
- MsmqIntegrationMessagePool.cs
- BufferedWebEventProvider.cs
- AppDomainResourcePerfCounters.cs
- StreamWriter.cs
- DataBinder.cs
- processwaithandle.cs