Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / 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. // Copyright (c) Microsoft Corporation. All rights reserved.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
- Span.cs
- OutputCacheSettings.cs
- Debug.cs
- TypeUtils.cs
- XmlQueryRuntime.cs
- HostedHttpRequestAsyncResult.cs
- PageClientProxyGenerator.cs
- FrameSecurityDescriptor.cs
- SqlClientWrapperSmiStream.cs
- XXXInfos.cs
- SHA1Managed.cs
- TakeQueryOptionExpression.cs
- GeneralTransform3DTo2DTo3D.cs
- StringValidator.cs
- SymbolPair.cs
- SortExpressionBuilder.cs
- SerializerWriterEventHandlers.cs
- AlgoModule.cs
- UrlAuthFailureHandler.cs
- Matrix3D.cs
- MemberHolder.cs
- GeometryModel3D.cs
- TextParaLineResult.cs
- ContextMenuStripActionList.cs
- DataGridTableStyleMappingNameEditor.cs
- ImageEditor.cs
- hresults.cs
- AutomationPropertyInfo.cs
- CursorConverter.cs
- FileNotFoundException.cs
- XmlNodeComparer.cs
- TextCompositionManager.cs
- StackSpiller.Temps.cs
- UrlPropertyAttribute.cs
- columnmapkeybuilder.cs
- Rights.cs
- AuthenticationManager.cs
- SetIterators.cs
- DataGridViewCellLinkedList.cs
- OutputCacheProfile.cs
- XmlSchemaDocumentation.cs
- GPPOINTF.cs
- FileDialogPermission.cs
- Int32Rect.cs
- DependencySource.cs
- ConfigurationSectionGroup.cs
- DataBoundControl.cs
- GlyphsSerializer.cs
- ConfigurationSectionCollection.cs
- COM2PropertyBuilderUITypeEditor.cs
- ToolBarTray.cs
- OperandQuery.cs
- ListViewContainer.cs
- FrameSecurityDescriptor.cs
- ManagementEventWatcher.cs
- WebPartConnectionsEventArgs.cs
- QueueProcessor.cs
- UInt32Storage.cs
- SizeAnimationClockResource.cs
- SplineKeyFrames.cs
- XamlBrushSerializer.cs
- InstancePersistenceContext.cs
- OneOf.cs
- ComboBoxRenderer.cs
- CancellationScope.cs
- AlternateViewCollection.cs
- WebPart.cs
- PolyBezierSegmentFigureLogic.cs
- ProfileGroupSettingsCollection.cs
- ComEventsSink.cs
- StylusPointCollection.cs
- GridPattern.cs
- LocatorGroup.cs
- ConnectionStringSettings.cs
- TimeEnumHelper.cs
- LinearQuaternionKeyFrame.cs
- WebBaseEventKeyComparer.cs
- CreatingCookieEventArgs.cs
- ComponentChangingEvent.cs
- CheckBox.cs
- PageVisual.cs
- ArraySet.cs
- FontConverter.cs
- EventDrivenDesigner.cs
- PipeException.cs
- HttpPostedFileWrapper.cs
- ConfigurationSectionCollection.cs
- CopyNamespacesAction.cs
- TextBlock.cs
- EnumType.cs
- VerticalAlignConverter.cs
- ListControl.cs
- NullableDecimalAverageAggregationOperator.cs
- XPathDocumentBuilder.cs
- ListViewCancelEventArgs.cs
- CacheForPrimitiveTypes.cs
- DataSet.cs
- TreeViewImageIndexConverter.cs
- SqlXmlStorage.cs
- ShaderEffect.cs