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
- XamlWriter.cs
- SelectorAutomationPeer.cs
- OutputCacheSection.cs
- ProfilePropertyMetadata.cs
- ResourceDisplayNameAttribute.cs
- SimpleBitVector32.cs
- DocumentGridContextMenu.cs
- SqlDataSourceCustomCommandEditor.cs
- Int16KeyFrameCollection.cs
- SimpleFieldTemplateFactory.cs
- JapaneseCalendar.cs
- SmtpNtlmAuthenticationModule.cs
- HwndStylusInputProvider.cs
- HtmlTable.cs
- RecognizeCompletedEventArgs.cs
- OleDbRowUpdatingEvent.cs
- DataError.cs
- CompiledRegexRunner.cs
- TextEditorDragDrop.cs
- WorkflowServiceAttributes.cs
- DictionaryGlobals.cs
- ModelUIElement3D.cs
- RangeValuePatternIdentifiers.cs
- JapaneseCalendar.cs
- SettingsPropertyValue.cs
- COAUTHIDENTITY.cs
- PointCollection.cs
- CipherData.cs
- ImageSourceConverter.cs
- ComponentCommands.cs
- ByeMessageApril2005.cs
- CodeMethodReturnStatement.cs
- ThrowOnMultipleAssignment.cs
- GridView.cs
- ToolStripOverflowButton.cs
- Fonts.cs
- XmlIgnoreAttribute.cs
- FreezableDefaultValueFactory.cs
- BooleanAnimationBase.cs
- __TransparentProxy.cs
- HttpResponseInternalWrapper.cs
- SurrogateEncoder.cs
- BamlTreeNode.cs
- TypeTypeConverter.cs
- Dictionary.cs
- TextBox.cs
- PropertyGeneratedEventArgs.cs
- CancellationHandlerDesigner.cs
- CatalogZone.cs
- Oid.cs
- FixedBufferAttribute.cs
- UrlMapping.cs
- Message.cs
- SelectionWordBreaker.cs
- DataStreams.cs
- TypeSource.cs
- QuaternionValueSerializer.cs
- BamlRecordHelper.cs
- FragmentQuery.cs
- ImplicitInputBrush.cs
- ProjectionPathSegment.cs
- EventLogEntryCollection.cs
- StoreItemCollection.Loader.cs
- Psha1DerivedKeyGenerator.cs
- MarkupWriter.cs
- LineBreak.cs
- TextPattern.cs
- GridViewSortEventArgs.cs
- ExtendedPropertyCollection.cs
- UserControlBuildProvider.cs
- EUCJPEncoding.cs
- MethodImplAttribute.cs
- WebPartConnectionCollection.cs
- DateTimePicker.cs
- EncodingDataItem.cs
- TextChange.cs
- TextBox.cs
- DiscoveryVersionConverter.cs
- SrgsText.cs
- MultiPropertyDescriptorGridEntry.cs
- XmlObjectSerializerReadContext.cs
- GridErrorDlg.cs
- RSAPKCS1KeyExchangeFormatter.cs
- NavigationHelper.cs
- RuleSetDialog.Designer.cs
- BitmapEffectInputData.cs
- SoapObjectInfo.cs
- CollectionViewGroupInternal.cs
- EventRecord.cs
- _StreamFramer.cs
- ObjectDataSourceEventArgs.cs
- NamespaceList.cs
- PerformanceCounterPermissionAttribute.cs
- SEHException.cs
- _NegotiateClient.cs
- SortedDictionary.cs
- Errors.cs
- MouseCaptureWithinProperty.cs
- DocumentDesigner.cs
- BaseTemplateBuildProvider.cs