Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- Signature.cs
- Path.cs
- SoapEnvelopeProcessingElement.cs
- StylusCollection.cs
- Simplifier.cs
- XPathAncestorIterator.cs
- DoubleLink.cs
- NameNode.cs
- FieldToken.cs
- CellQuery.cs
- ProgressChangedEventArgs.cs
- PrtTicket_Public.cs
- configsystem.cs
- AppDomainUnloadedException.cs
- TrackingStringDictionary.cs
- CapabilitiesPattern.cs
- RemotingAttributes.cs
- ZipIOFileItemStream.cs
- TextClipboardData.cs
- DataListCommandEventArgs.cs
- DefaultTextStore.cs
- SiteMapPathDesigner.cs
- BlurBitmapEffect.cs
- ExpressionVisitorHelpers.cs
- CompareInfo.cs
- RowType.cs
- GlyphRunDrawing.cs
- LZCodec.cs
- SettingsAttributes.cs
- MessageBodyDescription.cs
- XmlAttributeOverrides.cs
- JournalEntry.cs
- CustomSignedXml.cs
- TextPattern.cs
- AllowedAudienceUriElement.cs
- ByteFacetDescriptionElement.cs
- TimeoutException.cs
- NavigationEventArgs.cs
- TextEndOfSegment.cs
- CustomCredentialPolicy.cs
- DbProviderSpecificTypePropertyAttribute.cs
- MetadataArtifactLoaderResource.cs
- DataRowChangeEvent.cs
- XsltLibrary.cs
- MinMaxParagraphWidth.cs
- Line.cs
- ValidationHelpers.cs
- SoapExtensionTypeElementCollection.cs
- Variant.cs
- TextRangeEditLists.cs
- LiteralControl.cs
- ASCIIEncoding.cs
- WinEventWrap.cs
- SimpleTextLine.cs
- TreeIterators.cs
- CheckedPointers.cs
- GridViewCommandEventArgs.cs
- Comparer.cs
- NoResizeSelectionBorderGlyph.cs
- DataSourceGeneratorException.cs
- ExpandableObjectConverter.cs
- OdbcDataAdapter.cs
- TypeSystem.cs
- contentDescriptor.cs
- SqlCharStream.cs
- PartialTrustValidationBehavior.cs
- DetailsViewRowCollection.cs
- DataGridViewCheckBoxColumn.cs
- TypeResolvingOptionsAttribute.cs
- CatalogPartCollection.cs
- UnsafeNativeMethods.cs
- HebrewCalendar.cs
- PageThemeCodeDomTreeGenerator.cs
- WebPartCloseVerb.cs
- InstancePersistenceCommandException.cs
- UnsignedPublishLicense.cs
- XmlC14NWriter.cs
- figurelengthconverter.cs
- LicenseManager.cs
- DoubleLinkListEnumerator.cs
- UserMapPath.cs
- SpotLight.cs
- ProfileSection.cs
- TrackPointCollection.cs
- ToolbarAUtomationPeer.cs
- DataTemplate.cs
- TextBox.cs
- AuthorizationRule.cs
- PrincipalPermission.cs
- MonitorWrapper.cs
- Int32CAMarshaler.cs
- ContainerUtilities.cs
- __Error.cs
- ToolStripTextBox.cs
- EntityContainerAssociationSetEnd.cs
- DrawingVisual.cs
- QueryContinueDragEvent.cs
- Speller.cs
- Vector.cs
- Substitution.cs