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
- EntityUtil.cs
- SystemWebCachingSectionGroup.cs
- CodeSnippetExpression.cs
- CompilationRelaxations.cs
- ContentFilePart.cs
- ReflectionTypeLoadException.cs
- HtmlInputControl.cs
- XmlName.cs
- ContextQuery.cs
- StyleModeStack.cs
- Grid.cs
- VirtualizedItemProviderWrapper.cs
- ReferenceConverter.cs
- TabControlCancelEvent.cs
- AssemblySettingAttributes.cs
- RawKeyboardInputReport.cs
- ISAPIWorkerRequest.cs
- TypeHelpers.cs
- Point4DConverter.cs
- ObjectConverter.cs
- AbstractExpressions.cs
- AppDomain.cs
- StringInfo.cs
- ModuleBuilderData.cs
- RsaSecurityToken.cs
- RegistryPermission.cs
- WmlTextBoxAdapter.cs
- TreeNodeBinding.cs
- ClientBuildManager.cs
- ConfigXmlWhitespace.cs
- GACMembershipCondition.cs
- OneToOneMappingSerializer.cs
- ConnectionPointCookie.cs
- TdsParserStateObject.cs
- AnnotationStore.cs
- _ListenerResponseStream.cs
- XPathNodePointer.cs
- StorageMappingItemCollection.cs
- WorkflowServiceOperationListItem.cs
- RouteParameter.cs
- DbSetClause.cs
- FunctionParameter.cs
- DataGridViewImageColumn.cs
- PeerReferralPolicy.cs
- SqlNodeAnnotations.cs
- VectorAnimationBase.cs
- ListViewItem.cs
- RuleProcessor.cs
- TypeReference.cs
- MemberDomainMap.cs
- QuaternionAnimationBase.cs
- objectquery_tresulttype.cs
- PasswordDeriveBytes.cs
- HealthMonitoringSectionHelper.cs
- DbDeleteCommandTree.cs
- SqlDataSourceCommandEventArgs.cs
- UnsafeNativeMethodsMilCoreApi.cs
- IApplicationTrustManager.cs
- MessageVersionConverter.cs
- ListViewGroupConverter.cs
- EntityDataSourceView.cs
- XPathNodeList.cs
- BamlReader.cs
- ContextMenu.cs
- AuthenticationConfig.cs
- DeleteHelper.cs
- XmlReader.cs
- UIElementAutomationPeer.cs
- EastAsianLunisolarCalendar.cs
- EventData.cs
- StaticFileHandler.cs
- ZipIOLocalFileHeader.cs
- TargetControlTypeAttribute.cs
- StorageTypeMapping.cs
- FormsAuthentication.cs
- HttpCookiesSection.cs
- ListViewCommandEventArgs.cs
- transactioncontext.cs
- RegexCapture.cs
- EdmProviderManifest.cs
- PolicyReader.cs
- SelectedCellsChangedEventArgs.cs
- CommonGetThemePartSize.cs
- DataQuery.cs
- RequestCacheManager.cs
- FeatureSupport.cs
- RecipientInfo.cs
- ProgressBar.cs
- BmpBitmapDecoder.cs
- ConfigurationException.cs
- Hashtable.cs
- BooleanConverter.cs
- ConfigXmlComment.cs
- SerializableTypeCodeDomSerializer.cs
- ArgIterator.cs
- DaylightTime.cs
- HashJoinQueryOperatorEnumerator.cs
- __ComObject.cs
- MdbDataFileEditor.cs
- XmlTextAttribute.cs