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
- SplitterCancelEvent.cs
- SendingRequestEventArgs.cs
- CqlParser.cs
- DataGridParentRows.cs
- RegistryKey.cs
- LocalBuilder.cs
- RoleManagerSection.cs
- CredentialCache.cs
- InfoCardTraceRecord.cs
- ToolStripMenuItem.cs
- FunctionQuery.cs
- BaseTemplateBuildProvider.cs
- MultiSelectRootGridEntry.cs
- MD5CryptoServiceProvider.cs
- PkcsMisc.cs
- WindowPattern.cs
- SecurityState.cs
- XmlArrayItemAttribute.cs
- WebBaseEventKeyComparer.cs
- ExpandSegmentCollection.cs
- DataGridViewRowStateChangedEventArgs.cs
- ToolstripProfessionalRenderer.cs
- DataGridItemEventArgs.cs
- SqlError.cs
- GroupBox.cs
- CommandValueSerializer.cs
- TargetControlTypeCache.cs
- WizardPanelChangingEventArgs.cs
- TiffBitmapEncoder.cs
- Visual3D.cs
- PowerModeChangedEventArgs.cs
- NameValueConfigurationElement.cs
- ExtensionElement.cs
- SqlConnectionPoolProviderInfo.cs
- Processor.cs
- QueryAccessibilityHelpEvent.cs
- PropertyDescriptorCollection.cs
- TextModifier.cs
- InvokeAction.cs
- ElementNotEnabledException.cs
- WebEventTraceProvider.cs
- EditorZone.cs
- Transform3DGroup.cs
- ToolStripActionList.cs
- InfocardInteractiveChannelInitializer.cs
- ResourceManagerWrapper.cs
- XmlMtomWriter.cs
- StrongTypingException.cs
- ConfigXmlElement.cs
- WebPartZoneCollection.cs
- PropertyChangedEventManager.cs
- XPathDocument.cs
- Types.cs
- PassportAuthenticationEventArgs.cs
- RichTextBox.cs
- WindowsTab.cs
- PathSegment.cs
- CompositeCollectionView.cs
- PersonalizationProviderHelper.cs
- TabControlCancelEvent.cs
- ContentFileHelper.cs
- LambdaCompiler.Lambda.cs
- ResourceDictionaryCollection.cs
- SimpleFileLog.cs
- RetriableClipboard.cs
- AutomationProperties.cs
- PatternMatcher.cs
- SqlNodeAnnotations.cs
- WebPartChrome.cs
- FileDialog_Vista.cs
- Int32AnimationUsingKeyFrames.cs
- Column.cs
- WindowManager.cs
- ping.cs
- SoapFormatterSinks.cs
- Padding.cs
- PrintDialogDesigner.cs
- HttpModuleCollection.cs
- MultitargetingHelpers.cs
- OleDbDataReader.cs
- ListMarkerSourceInfo.cs
- ToolStripProgressBar.cs
- securitymgrsite.cs
- HostSecurityManager.cs
- ExtendedProtectionPolicy.cs
- AutoGeneratedFieldProperties.cs
- DataGridViewRowPrePaintEventArgs.cs
- Interlocked.cs
- DuplicateDetector.cs
- EventToken.cs
- SafeSecurityHandles.cs
- ToolboxControl.cs
- TranslateTransform3D.cs
- CultureInfoConverter.cs
- __FastResourceComparer.cs
- TabControlAutomationPeer.cs
- QilInvokeLateBound.cs
- ProcessingInstructionAction.cs
- propertytag.cs
- BamlBinaryWriter.cs