Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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. // Copyright (c) Microsoft Corporation. All rights reserved.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
- DirectoryNotFoundException.cs
- PathFigure.cs
- EpmTargetPathSegment.cs
- MeshGeometry3D.cs
- XMLUtil.cs
- DebugView.cs
- NavigationService.cs
- WSSecurityPolicy12.cs
- IdentityHolder.cs
- WinFormsSecurity.cs
- AccessKeyManager.cs
- DeploymentExceptionMapper.cs
- TypeDescriptor.cs
- ActivationServices.cs
- _CacheStreams.cs
- MessageVersion.cs
- InfoCardCryptoHelper.cs
- BufferModesCollection.cs
- LazyTextWriterCreator.cs
- FusionWrap.cs
- DefaultExpressionVisitor.cs
- BaseProcessProtocolHandler.cs
- DesignTimeParseData.cs
- FormViewPagerRow.cs
- TraceHandlerErrorFormatter.cs
- XPathBuilder.cs
- InvokeGenerator.cs
- SecurityPermission.cs
- GraphicsContainer.cs
- CompatibleIComparer.cs
- DocumentSequence.cs
- HttpRawResponse.cs
- TrackingProfileManager.cs
- JsonWriter.cs
- MergePropertyDescriptor.cs
- XmlElementAttributes.cs
- TypeSystem.cs
- EnvelopedPkcs7.cs
- EditorPartChrome.cs
- IdentitySection.cs
- ProcessHost.cs
- NameTable.cs
- ExtensionQuery.cs
- TeredoHelper.cs
- UrlRoutingHandler.cs
- SessionStateItemCollection.cs
- C14NUtil.cs
- MaterialGroup.cs
- XmlSchemaSimpleContentRestriction.cs
- MessageAction.cs
- ExceptionUtil.cs
- InvalidDataException.cs
- ObjectViewFactory.cs
- LoginName.cs
- TraceListener.cs
- CompleteWizardStep.cs
- DiscoveryService.cs
- CodeArgumentReferenceExpression.cs
- InertiaTranslationBehavior.cs
- VSDExceptions.cs
- ShaperBuffers.cs
- CapabilitiesUse.cs
- ReverseQueryOperator.cs
- QilCloneVisitor.cs
- WindowsIdentity.cs
- ContainsRowNumberChecker.cs
- DataBindingCollection.cs
- SpecialFolderEnumConverter.cs
- XmlAttributeCollection.cs
- ReadOnlyCollection.cs
- CalculatedColumn.cs
- CodeGen.cs
- DataGridrowEditEndingEventArgs.cs
- UIElementHelper.cs
- XmlReader.cs
- DataSetFieldSchema.cs
- DesignerCatalogPartChrome.cs
- GridViewDeletedEventArgs.cs
- PersonalizableTypeEntry.cs
- DecoderFallbackWithFailureFlag.cs
- SqlBooleanMismatchVisitor.cs
- Trace.cs
- xmlsaver.cs
- WSAddressing10ProblemHeaderQNameFault.cs
- VisualTreeUtils.cs
- Int64KeyFrameCollection.cs
- followingsibling.cs
- XmlnsCompatibleWithAttribute.cs
- CreatingCookieEventArgs.cs
- TableDetailsCollection.cs
- WebServiceMethodData.cs
- ParameterSubsegment.cs
- SettingsProviderCollection.cs
- Transactions.cs
- CoreSwitches.cs
- AppDomainAttributes.cs
- SettingsBase.cs
- DataGridViewHitTestInfo.cs
- BoundField.cs
- QfeChecker.cs