Code:
/ DotNET / DotNET / 8.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
- InstalledFontCollection.cs
- Viewport3DVisual.cs
- RelatedCurrencyManager.cs
- TextParagraphView.cs
- FileRegion.cs
- LocalizedNameDescriptionPair.cs
- Socket.cs
- IdleTimeoutMonitor.cs
- ColumnBinding.cs
- LinqDataSourceInsertEventArgs.cs
- TypeUsageBuilder.cs
- SingleAnimation.cs
- DataKey.cs
- StateItem.cs
- OAVariantLib.cs
- Brush.cs
- _CacheStreams.cs
- ProcessRequestArgs.cs
- MergePropertyDescriptor.cs
- ObservableDictionary.cs
- VirtualizingPanel.cs
- IISUnsafeMethods.cs
- LassoHelper.cs
- Process.cs
- KeySplineConverter.cs
- ReferenceSchema.cs
- CompositeDuplexBindingElement.cs
- GlyphRunDrawing.cs
- AspCompat.cs
- XmlSchemaParticle.cs
- XPathDocumentBuilder.cs
- ReferenceService.cs
- ResourceIDHelper.cs
- ZoneButton.cs
- RegionInfo.cs
- PenThreadWorker.cs
- CompilationSection.cs
- MachineKeyConverter.cs
- ApplicationServiceManager.cs
- XsltLoader.cs
- XmlBinaryReader.cs
- DescendentsWalkerBase.cs
- FactoryGenerator.cs
- ReturnType.cs
- PageClientProxyGenerator.cs
- SurrogateEncoder.cs
- Group.cs
- TypeToken.cs
- HttpListener.cs
- MessageBodyDescription.cs
- StylusDownEventArgs.cs
- DefaultProfileManager.cs
- OdbcErrorCollection.cs
- XmlValueConverter.cs
- ProvideValueServiceProvider.cs
- NonSerializedAttribute.cs
- ValidationSummary.cs
- RequestCachePolicyConverter.cs
- GeneralTransform3DTo2DTo3D.cs
- CodeMemberProperty.cs
- OptimisticConcurrencyException.cs
- Font.cs
- Stroke2.cs
- SolidColorBrush.cs
- DesignTimeHTMLTextWriter.cs
- RangeValueProviderWrapper.cs
- PropertyGridView.cs
- Funcletizer.cs
- MouseActionValueSerializer.cs
- ContextMenuService.cs
- BinaryConverter.cs
- ResourceAttributes.cs
- URLAttribute.cs
- ZipIOExtraField.cs
- StateMachineExecutionState.cs
- HelpProvider.cs
- Application.cs
- Model3D.cs
- BitmapEffectDrawingContent.cs
- GenericsInstances.cs
- ADMembershipProvider.cs
- CallbackValidatorAttribute.cs
- ConsoleCancelEventArgs.cs
- DataControlPagerLinkButton.cs
- RequestResizeEvent.cs
- XComponentModel.cs
- ConstraintManager.cs
- SatelliteContractVersionAttribute.cs
- SafeEventLogWriteHandle.cs
- XmlConvert.cs
- HandoffBehavior.cs
- AutomationPropertyInfo.cs
- DiscoveryViaBehavior.cs
- BindingMAnagerBase.cs
- FileController.cs
- TreeViewItemAutomationPeer.cs
- TraversalRequest.cs
- PrtCap_Public_Simple.cs
- DebuggerService.cs
- X509CertificateCollection.cs