Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- DesignerLoader.cs
- RowType.cs
- ContentControl.cs
- JournalEntryStack.cs
- TemplateControlCodeDomTreeGenerator.cs
- FormatConvertedBitmap.cs
- SubtreeProcessor.cs
- DataGridViewTopRowAccessibleObject.cs
- WindowsListViewGroupHelper.cs
- FontEmbeddingManager.cs
- ApplicationException.cs
- FacetValues.cs
- XmlElementAttributes.cs
- EdmValidator.cs
- GraphicsPathIterator.cs
- HttpListenerRequest.cs
- StandardToolWindows.cs
- TextTreeRootTextBlock.cs
- RangeEnumerable.cs
- GenericTypeParameterConverter.cs
- ListBindingConverter.cs
- SoapEnumAttribute.cs
- TypeGeneratedEventArgs.cs
- HtmlForm.cs
- ElasticEase.cs
- ParameterCollectionEditorForm.cs
- ImmutableAssemblyCacheEntry.cs
- EmptyEnumerator.cs
- UmAlQuraCalendar.cs
- ElementHost.cs
- Pair.cs
- Decoder.cs
- UniqueID.cs
- ProfileModule.cs
- FillBehavior.cs
- ConfigurationSectionGroupCollection.cs
- ToolStripDropDownButton.cs
- PageSetupDialog.cs
- CodeExpressionStatement.cs
- XmlSerializerFactory.cs
- LZCodec.cs
- PageAsyncTask.cs
- NullRuntimeConfig.cs
- SystemWebSectionGroup.cs
- UITypeEditor.cs
- ApplicationManager.cs
- Ref.cs
- MarginCollapsingState.cs
- BoundField.cs
- ThicknessConverter.cs
- ProtectedProviderSettings.cs
- Math.cs
- NumericUpDownAcceleration.cs
- GeneralTransform.cs
- ExecutionContext.cs
- ForceCopyBuildProvider.cs
- TokenBasedSet.cs
- XmlNodeList.cs
- LocalClientSecuritySettings.cs
- SmuggledIUnknown.cs
- QueryExecutionOption.cs
- DesignTimeParseData.cs
- IsolatedStorage.cs
- FileUtil.cs
- DbMetaDataFactory.cs
- IFormattable.cs
- Size.cs
- NonParentingControl.cs
- InertiaExpansionBehavior.cs
- RoleGroup.cs
- BaseValidator.cs
- URL.cs
- ControlBuilderAttribute.cs
- FileLogRecordEnumerator.cs
- RemotingConfiguration.cs
- __ConsoleStream.cs
- ProcessModelSection.cs
- BulletChrome.cs
- CultureTableRecord.cs
- NativeMethods.cs
- MatrixAnimationBase.cs
- XmlLoader.cs
- selecteditemcollection.cs
- IndexedEnumerable.cs
- BinHexDecoder.cs
- FilterException.cs
- EntityWithChangeTrackerStrategy.cs
- InsufficientMemoryException.cs
- CompositeKey.cs
- SqlDependency.cs
- MetaDataInfo.cs
- SmiTypedGetterSetter.cs
- xmlsaver.cs
- InplaceBitmapMetadataWriter.cs
- RadioButtonBaseAdapter.cs
- WindowsTooltip.cs
- ActiveXHelper.cs
- SessionPageStateSection.cs
- WebMethodAttribute.cs
- ZipIOCentralDirectoryBlock.cs