Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / OSFeature.cs / 1305376 / 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. ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EndOfStreamException.cs
- RenderDataDrawingContext.cs
- Pool.cs
- PaperSize.cs
- SerializableAttribute.cs
- BlobPersonalizationState.cs
- HttpResponseInternalWrapper.cs
- WebEventCodes.cs
- CompilerParameters.cs
- SerializationHelper.cs
- SiteMapNodeCollection.cs
- WebPartTransformerAttribute.cs
- SchemaTypeEmitter.cs
- ObjectDataSourceSelectingEventArgs.cs
- IIS7UserPrincipal.cs
- documentsequencetextview.cs
- Atom10FormatterFactory.cs
- SqlWriter.cs
- HideDisabledControlAdapter.cs
- WindowsIdentity.cs
- WorkerRequest.cs
- ArgIterator.cs
- DataRow.cs
- HttpApplicationFactory.cs
- FontUnit.cs
- LambdaExpression.cs
- UpdateTranslator.cs
- RootProjectionNode.cs
- cookiecollection.cs
- MultipleViewPattern.cs
- ClassDataContract.cs
- SecureEnvironment.cs
- HotSpot.cs
- PersianCalendar.cs
- SizeAnimation.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- XamlToRtfWriter.cs
- ExecutionContext.cs
- AssertUtility.cs
- XmlLanguage.cs
- BitmapSizeOptions.cs
- GridViewRowPresenter.cs
- SqlBooleanMismatchVisitor.cs
- Set.cs
- RepeatBehavior.cs
- RSAOAEPKeyExchangeDeformatter.cs
- LocationSectionRecord.cs
- Line.cs
- ExpandedWrapper.cs
- Serializer.cs
- PointUtil.cs
- Menu.cs
- WindowsIPAddress.cs
- FontStretch.cs
- CustomWebEventKey.cs
- ObjectStateManagerMetadata.cs
- SqlBooleanizer.cs
- InitializeCorrelation.cs
- DesignTimeHTMLTextWriter.cs
- ContextStaticAttribute.cs
- OneToOneMappingSerializer.cs
- InstanceOwnerException.cs
- Condition.cs
- CfgSemanticTag.cs
- CornerRadiusConverter.cs
- ConfigurationManagerInternal.cs
- WorkflowOperationErrorHandler.cs
- VoiceInfo.cs
- DbConnectionInternal.cs
- SqlDataSourceFilteringEventArgs.cs
- ByteStreamGeometryContext.cs
- UInt32.cs
- DesignerActionItem.cs
- PrintController.cs
- CodeExporter.cs
- ListMarkerLine.cs
- PhysicalFontFamily.cs
- PhysicalOps.cs
- DataServiceConfiguration.cs
- XPathMultyIterator.cs
- Help.cs
- SqlGenerator.cs
- GraphicsState.cs
- SynchronizationScope.cs
- LinqDataSourceInsertEventArgs.cs
- Cursors.cs
- MarshalByValueComponent.cs
- ColumnClickEvent.cs
- NameTable.cs
- Point3DAnimation.cs
- WindowsEditBoxRange.cs
- XPathPatternBuilder.cs
- InputScope.cs
- Model3D.cs
- TableRow.cs
- Literal.cs
- COM2IProvidePropertyBuilderHandler.cs
- ContextMarshalException.cs
- DataViewListener.cs
- DefaultSection.cs