Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- CheckPair.cs
- CompositeScriptReferenceEventArgs.cs
- DbQueryCommandTree.cs
- LayoutExceptionEventArgs.cs
- DoubleAnimationBase.cs
- ToolboxComponentsCreatingEventArgs.cs
- LogArchiveSnapshot.cs
- HtmlToClrEventProxy.cs
- MouseDevice.cs
- MappingMetadataHelper.cs
- ActiveDocumentEvent.cs
- GridViewEditEventArgs.cs
- EventSinkActivity.cs
- DataBinding.cs
- HttpsHostedTransportConfiguration.cs
- HttpStreamMessage.cs
- PropertyItemInternal.cs
- XmlTextReaderImpl.cs
- PairComparer.cs
- FontStyleConverter.cs
- ImageIndexConverter.cs
- CategoriesDocument.cs
- OptimizedTemplateContentHelper.cs
- AsymmetricSignatureFormatter.cs
- DependencyObjectProvider.cs
- Substitution.cs
- KeyBinding.cs
- KeyEvent.cs
- XamlTemplateSerializer.cs
- QueryStringParameter.cs
- TextElementEnumerator.cs
- ClientConfigPaths.cs
- QueryProcessor.cs
- ThicknessConverter.cs
- IsolatedStorageFile.cs
- COM2IDispatchConverter.cs
- TCPClient.cs
- SurrogateSelector.cs
- BulletedList.cs
- wgx_sdk_version.cs
- DataGridViewIntLinkedList.cs
- ContentTextAutomationPeer.cs
- CreationContext.cs
- FacetChecker.cs
- WhitespaceSignificantCollectionAttribute.cs
- FloaterParagraph.cs
- SoapWriter.cs
- ForEachAction.cs
- FlowDocumentReaderAutomationPeer.cs
- FontClient.cs
- Latin1Encoding.cs
- OrderedDictionaryStateHelper.cs
- TextSelection.cs
- PathData.cs
- ListItemDetailViewAttribute.cs
- BaseTemplateBuildProvider.cs
- HttpListenerException.cs
- QueryRewriter.cs
- xdrvalidator.cs
- FrameworkRichTextComposition.cs
- CommandBinding.cs
- FtpCachePolicyElement.cs
- SelectionProviderWrapper.cs
- SchemaReference.cs
- IsolationInterop.cs
- Choices.cs
- RadioButtonFlatAdapter.cs
- ColumnResult.cs
- filewebresponse.cs
- EntityKey.cs
- SqlServer2KCompatibilityAnnotation.cs
- WindowsListViewItemStartMenu.cs
- NonVisualControlAttribute.cs
- UInt32Storage.cs
- AVElementHelper.cs
- GridViewEditEventArgs.cs
- DesignerLoader.cs
- SplitterDesigner.cs
- UniqueConstraint.cs
- CoTaskMemHandle.cs
- PropertyItem.cs
- HMACRIPEMD160.cs
- PropertySet.cs
- PerspectiveCamera.cs
- XmlCDATASection.cs
- TreeNodeCollection.cs
- ClosureBinding.cs
- SingleStorage.cs
- Brush.cs
- FastPropertyAccessor.cs
- XmlSchemaAnnotation.cs
- TreeNodeSelectionProcessor.cs
- DataGridSortCommandEventArgs.cs
- RenamedEventArgs.cs
- DataServiceQueryOfT.cs
- BamlRecordWriter.cs
- ColumnProvider.cs
- RuleElement.cs
- _RequestCacheProtocol.cs
- SystemGatewayIPAddressInformation.cs