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
- SchemeSettingElementCollection.cs
- HelpPage.cs
- PipelineModuleStepContainer.cs
- Point4D.cs
- BevelBitmapEffect.cs
- XmlElementAttributes.cs
- _IPv4Address.cs
- DesignOnlyAttribute.cs
- updateconfighost.cs
- CommonRemoteMemoryBlock.cs
- InteropExecutor.cs
- QilGenerator.cs
- TemplateControl.cs
- StorageComplexTypeMapping.cs
- XslVisitor.cs
- _BaseOverlappedAsyncResult.cs
- MediaTimeline.cs
- WebScriptMetadataMessage.cs
- PopupControlService.cs
- BadImageFormatException.cs
- ShapingEngine.cs
- XmlEntity.cs
- WebPermission.cs
- SiteMapNodeItemEventArgs.cs
- codemethodreferenceexpression.cs
- DataGridViewTextBoxCell.cs
- RectIndependentAnimationStorage.cs
- SafeThreadHandle.cs
- StreamReader.cs
- UnsafeNativeMethods.cs
- PropertyStore.cs
- RequestCacheEntry.cs
- BamlBinaryReader.cs
- PropertyDescriptorGridEntry.cs
- MulticastDelegate.cs
- MaskInputRejectedEventArgs.cs
- PackWebResponse.cs
- login.cs
- ConstraintConverter.cs
- ServicePointManagerElement.cs
- ContainsRowNumberChecker.cs
- FlowLayoutSettings.cs
- AlignmentXValidation.cs
- SizeChangedEventArgs.cs
- _ProxyRegBlob.cs
- Lock.cs
- LinqDataSourceHelper.cs
- HttpClientCertificate.cs
- MemoryStream.cs
- DispatcherHooks.cs
- SmtpReplyReader.cs
- ZeroOpNode.cs
- GradientSpreadMethodValidation.cs
- PeerChannelFactory.cs
- SafeFileMappingHandle.cs
- CodeIdentifiers.cs
- FormatConvertedBitmap.cs
- ToolboxDataAttribute.cs
- RowsCopiedEventArgs.cs
- RIPEMD160Managed.cs
- WebProxyScriptElement.cs
- XmlSigningNodeWriter.cs
- PeerMessageDispatcher.cs
- XmlSerializerSection.cs
- SortedDictionary.cs
- Pair.cs
- DataMemberFieldEditor.cs
- ComPlusDiagnosticTraceRecords.cs
- QualificationDataItem.cs
- PeerObject.cs
- KnownColorTable.cs
- Win32KeyboardDevice.cs
- FigureParaClient.cs
- XamlReaderConstants.cs
- DataComponentMethodGenerator.cs
- GlyphShapingProperties.cs
- ViewValidator.cs
- ApplicationHost.cs
- FirewallWrapper.cs
- MailDefinition.cs
- BufferedReceiveElement.cs
- HttpRuntimeSection.cs
- SessionStateSection.cs
- SystemIPInterfaceProperties.cs
- RtfToXamlLexer.cs
- NativeMethods.cs
- SqlNodeTypeOperators.cs
- TreeNodeSelectionProcessor.cs
- DataStreams.cs
- MinimizableAttributeTypeConverter.cs
- Margins.cs
- BamlMapTable.cs
- ProcessModuleDesigner.cs
- ChannelHandler.cs
- HttpCookie.cs
- ComponentEditorPage.cs
- EditorPartDesigner.cs
- BamlTreeMap.cs
- XmlSchemas.cs
- ProfileGroupSettingsCollection.cs