Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- PolicyVersion.cs
- KeyInfo.cs
- SelectionItemPattern.cs
- NavigationPropertyEmitter.cs
- TimeSpanSecondsConverter.cs
- ArrayConverter.cs
- Registry.cs
- PropertyConverter.cs
- ToolStripPanelRow.cs
- Point4DValueSerializer.cs
- DbConnectionClosed.cs
- DefaultExpression.cs
- CodeIdentifier.cs
- DefinitionUpdate.cs
- SchemaImporterExtensionElement.cs
- SqlCacheDependencyDatabase.cs
- LoginUtil.cs
- AppearanceEditorPart.cs
- SizeIndependentAnimationStorage.cs
- Run.cs
- Crypto.cs
- ExtentKey.cs
- GeometryGroup.cs
- IntMinMaxAggregationOperator.cs
- CodeExpressionStatement.cs
- LambdaCompiler.Binary.cs
- AttributeCollection.cs
- ConnectionStringsExpressionBuilder.cs
- EventMap.cs
- IsolatedStoragePermission.cs
- RequiredFieldValidator.cs
- TableColumn.cs
- SinglePageViewer.cs
- EntityTypeBase.cs
- AppliesToBehaviorDecisionTable.cs
- FlowDocumentPageViewerAutomationPeer.cs
- AssociationTypeEmitter.cs
- XmlSchemaAny.cs
- EmptyCollection.cs
- DefaultHttpHandler.cs
- CatalogZone.cs
- ObjectDataSourceMethodEventArgs.cs
- _SingleItemRequestCache.cs
- CompilerGlobalScopeAttribute.cs
- TimeIntervalCollection.cs
- SpellerInterop.cs
- HwndSourceParameters.cs
- ConsoleCancelEventArgs.cs
- glyphs.cs
- SqlDataSourceEnumerator.cs
- DateTimeUtil.cs
- ChangePasswordAutoFormat.cs
- PermissionRequestEvidence.cs
- SqlBuilder.cs
- TextBoxBaseDesigner.cs
- PersianCalendar.cs
- DelimitedListTraceListener.cs
- BeginStoryboard.cs
- RelationshipWrapper.cs
- DbXmlEnabledProviderManifest.cs
- SingleQueryOperator.cs
- ByteConverter.cs
- QuaternionIndependentAnimationStorage.cs
- StatusBarPanelClickEvent.cs
- TCPListener.cs
- ValidationException.cs
- ContainsRowNumberChecker.cs
- LazyLoadBehavior.cs
- CodeSnippetExpression.cs
- PackageRelationship.cs
- WebServiceResponse.cs
- SqlPersistenceWorkflowInstanceDescription.cs
- RequestUriProcessor.cs
- log.cs
- FlowDocumentPaginator.cs
- CodeTypeMember.cs
- ComponentResourceKeyConverter.cs
- QuaternionConverter.cs
- DbInsertCommandTree.cs
- RSAOAEPKeyExchangeDeformatter.cs
- HttpListenerPrefixCollection.cs
- TransformerInfoCollection.cs
- IdnMapping.cs
- InsufficientExecutionStackException.cs
- DetailsViewCommandEventArgs.cs
- SqlDataSourceEnumerator.cs
- ListControl.cs
- DeploymentSection.cs
- SqlBuffer.cs
- RoleManagerModule.cs
- NetStream.cs
- HwndTarget.cs
- DataGridViewBand.cs
- WebPartMovingEventArgs.cs
- BinaryFormatterSinks.cs
- OperatorExpressions.cs
- TimeoutTimer.cs
- PlanCompiler.cs
- EventHandlerList.cs
- SslStream.cs