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
- BinaryWriter.cs
- FileUpload.cs
- SoapSchemaMember.cs
- ActivityCodeGenerator.cs
- GeneralTransform.cs
- GradientSpreadMethodValidation.cs
- VolatileResourceManager.cs
- SqlDataSourceParameterParser.cs
- DependencyPropertyChangedEventArgs.cs
- DateTimeConverter2.cs
- ConstantSlot.cs
- FlowDocumentReaderAutomationPeer.cs
- PropagatorResult.cs
- WebCodeGenerator.cs
- TextTrailingWordEllipsis.cs
- InvokeBase.cs
- PostBackOptions.cs
- DeferredReference.cs
- CanonicalXml.cs
- NamespaceQuery.cs
- MarshalDirectiveException.cs
- NumberSubstitution.cs
- AutomationEvent.cs
- sqlcontext.cs
- WebSysDescriptionAttribute.cs
- WebConfigurationFileMap.cs
- ConvertEvent.cs
- OdbcFactory.cs
- ObjectListComponentEditor.cs
- PerfCounterSection.cs
- CompiledRegexRunner.cs
- DataSetMappper.cs
- NullableConverter.cs
- SingleObjectCollection.cs
- coordinatorscratchpad.cs
- TextParagraphProperties.cs
- SaveFileDialog.cs
- StateChangeEvent.cs
- Visual.cs
- COM2IProvidePropertyBuilderHandler.cs
- CapabilitiesState.cs
- Typography.cs
- DataBoundControlHelper.cs
- DropDownList.cs
- CustomAttribute.cs
- AppDomainUnloadedException.cs
- WebBrowserSiteBase.cs
- RSAPKCS1KeyExchangeFormatter.cs
- XPathAncestorQuery.cs
- CodeTypeParameter.cs
- ZoomPercentageConverter.cs
- Tokenizer.cs
- ActionItem.cs
- CodeTypeDelegate.cs
- ImageListStreamer.cs
- FixedSchema.cs
- OrderPreservingPipeliningSpoolingTask.cs
- QuadraticBezierSegment.cs
- WaitForChangedResult.cs
- TextOptionsInternal.cs
- OleDbCommandBuilder.cs
- EntityReference.cs
- TriggerActionCollection.cs
- Pair.cs
- TextEditorCopyPaste.cs
- XmlBinaryReader.cs
- odbcmetadatacollectionnames.cs
- SamlAuthenticationClaimResource.cs
- SctClaimDictionary.cs
- DialogResultConverter.cs
- SchemaCreator.cs
- Span.cs
- DeploymentSection.cs
- CodeStatementCollection.cs
- MainMenu.cs
- WebPartEditVerb.cs
- ProtocolElementCollection.cs
- AssemblyBuilderData.cs
- CollectionEditVerbManager.cs
- FlowPosition.cs
- SecurityManager.cs
- DataBoundControlAdapter.cs
- LogLogRecordHeader.cs
- TypeResolvingOptions.cs
- ProfileSettingsCollection.cs
- DecoderBestFitFallback.cs
- FileUpload.cs
- TransformerConfigurationWizardBase.cs
- DesignTimeVisibleAttribute.cs
- HashSetEqualityComparer.cs
- Constant.cs
- Section.cs
- TextEmbeddedObject.cs
- HtmlInputSubmit.cs
- EditorResources.cs
- SoapElementAttribute.cs
- RegionInfo.cs
- ListBindingHelper.cs
- CapabilitiesAssignment.cs
- PersistenceTypeAttribute.cs