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
- MetadataItem_Static.cs
- DBDataPermissionAttribute.cs
- NativeMethods.cs
- EmptyReadOnlyDictionaryInternal.cs
- WSFederationHttpBindingElement.cs
- PlatformCulture.cs
- Propagator.ExtentPlaceholderCreator.cs
- StandardToolWindows.cs
- UInt64Storage.cs
- ExpressionBuilder.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- RNGCryptoServiceProvider.cs
- FacetChecker.cs
- QilInvokeEarlyBound.cs
- LongValidator.cs
- RequestQueryParser.cs
- Margins.cs
- ReflectEventDescriptor.cs
- DataServiceExpressionVisitor.cs
- IMembershipProvider.cs
- ExpandCollapsePattern.cs
- FreezableOperations.cs
- BaseParaClient.cs
- Property.cs
- ForeignConstraint.cs
- WsiProfilesElement.cs
- UndoManager.cs
- BitmapEffectDrawingContent.cs
- BitmapEffectGroup.cs
- RefExpr.cs
- WorkflowInlining.cs
- AttributedMetaModel.cs
- mda.cs
- BinaryNegotiation.cs
- Keyboard.cs
- AutomationPeer.cs
- DecodeHelper.cs
- CallbackException.cs
- XmlConverter.cs
- ContractUtils.cs
- PersonalizationStateInfo.cs
- DataObjectPastingEventArgs.cs
- CodeDefaultValueExpression.cs
- DataGridItemAttachedStorage.cs
- Token.cs
- CompilerTypeWithParams.cs
- PagerStyle.cs
- ConfigurationFileMap.cs
- LookupBindingPropertiesAttribute.cs
- ClientSettingsSection.cs
- OutputCacheSection.cs
- XsltException.cs
- HttpStreamMessageEncoderFactory.cs
- DictionaryEntry.cs
- AutoResizedEvent.cs
- StreamUpdate.cs
- RouteItem.cs
- StringFreezingAttribute.cs
- SocketInformation.cs
- DataGridViewCellPaintingEventArgs.cs
- UnauthorizedAccessException.cs
- NavigationWindowAutomationPeer.cs
- PrtTicket_Public.cs
- ClassHandlersStore.cs
- PhonemeEventArgs.cs
- HMACRIPEMD160.cs
- TemplateBindingExtensionConverter.cs
- IdentitySection.cs
- EventLogPropertySelector.cs
- ImageListUtils.cs
- GridView.cs
- ScopeElement.cs
- TextParagraphProperties.cs
- WindowsScrollBar.cs
- PersonalizationStateQuery.cs
- Completion.cs
- VariableQuery.cs
- ToolStripStatusLabel.cs
- X509UI.cs
- RTTrackingProfile.cs
- ExceptionRoutedEventArgs.cs
- TypeConverterBase.cs
- CookielessHelper.cs
- DataGridDetailsPresenterAutomationPeer.cs
- DataGridViewCheckBoxCell.cs
- CompositionAdorner.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- PathFigure.cs
- FixedSOMTableCell.cs
- SettingsBindableAttribute.cs
- ArrayElementGridEntry.cs
- QueryCacheKey.cs
- PropertyDescriptorCollection.cs
- SvcMapFileSerializer.cs
- RolePrincipal.cs
- ToolboxItemFilterAttribute.cs
- SerializableAttribute.cs
- RuleSetDialog.cs
- PrintPreviewControl.cs
- CriticalFinalizerObject.cs