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
- WebInvokeAttribute.cs
- ColorConvertedBitmap.cs
- TrackingMemoryStream.cs
- OutputCacheProviderCollection.cs
- ZipFileInfo.cs
- keycontainerpermission.cs
- TimeSpanSecondsConverter.cs
- WindowsAuthenticationEventArgs.cs
- RemotingServices.cs
- ComponentCommands.cs
- NetMsmqBinding.cs
- User.cs
- ExecutionContext.cs
- SchemaObjectWriter.cs
- ellipse.cs
- Switch.cs
- WebPartConnectionsCloseVerb.cs
- NestedContainer.cs
- HwndSubclass.cs
- SelectionItemProviderWrapper.cs
- CodeComment.cs
- EncoderExceptionFallback.cs
- Point3DAnimation.cs
- ObjectCloneHelper.cs
- SystemEvents.cs
- NameValuePair.cs
- DependencyPropertyConverter.cs
- _CacheStreams.cs
- RequestCacheValidator.cs
- EditorPartChrome.cs
- glyphs.cs
- PropertyDescriptors.cs
- DesignerView.cs
- ThumbButtonInfo.cs
- EventBuilder.cs
- TrackingMemoryStreamFactory.cs
- RadioButton.cs
- UnaryNode.cs
- AndCondition.cs
- DataGridToolTip.cs
- Mouse.cs
- AlphabetConverter.cs
- XmlUTF8TextReader.cs
- StoreConnection.cs
- InstanceCreationEditor.cs
- ManagedIStream.cs
- ItemsChangedEventArgs.cs
- DrawListViewItemEventArgs.cs
- DataContractAttribute.cs
- ThicknessAnimation.cs
- BevelBitmapEffect.cs
- Main.cs
- EqualityArray.cs
- TdsParserSafeHandles.cs
- SqlDependencyListener.cs
- SuppressMessageAttribute.cs
- ValidationErrorCollection.cs
- WindowsListViewItem.cs
- StreamResourceInfo.cs
- EncodingTable.cs
- CorrelationExtension.cs
- SizeAnimationBase.cs
- VisualCollection.cs
- FormsAuthenticationTicket.cs
- Int32RectValueSerializer.cs
- _SpnDictionary.cs
- externdll.cs
- UserControl.cs
- ZoneMembershipCondition.cs
- ClassData.cs
- TreeNodeStyleCollection.cs
- SettingsSavedEventArgs.cs
- SoapFault.cs
- WriteFileContext.cs
- ProjectionCamera.cs
- sqlmetadatafactory.cs
- UnrecognizedPolicyAssertionElement.cs
- ParserExtension.cs
- Timeline.cs
- LazyLoadBehavior.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TaskSchedulerException.cs
- TriggerCollection.cs
- ChineseLunisolarCalendar.cs
- EntityConnection.cs
- SafeFileMappingHandle.cs
- SequenceRangeCollection.cs
- SmtpNetworkElement.cs
- DataGridView.cs
- XmlSchemaComplexContentExtension.cs
- JoinGraph.cs
- XDRSchema.cs
- StringToken.cs
- SpeakProgressEventArgs.cs
- WithStatement.cs
- EventItfInfo.cs
- DLinqColumnProvider.cs
- SqlDataReaderSmi.cs
- IndexOutOfRangeException.cs
- Compiler.cs