Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / OSFeature.cs / 1305376 / 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. ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ParallelDesigner.cs
- PathFigureCollection.cs
- RegionData.cs
- RegexCompiler.cs
- SecurityState.cs
- MethodAccessException.cs
- SqlDependencyUtils.cs
- ProxyWebPart.cs
- HashMembershipCondition.cs
- MaskedTextProvider.cs
- GeometryGroup.cs
- ILGenerator.cs
- PixelShader.cs
- HttpModuleCollection.cs
- AutomationTextAttribute.cs
- OperationSelectorBehavior.cs
- BitmapEffectGeneralTransform.cs
- FormClosingEvent.cs
- DataGridViewControlCollection.cs
- FormattedTextSymbols.cs
- GenericTypeParameterBuilder.cs
- GeometryGroup.cs
- EventManager.cs
- XmlJsonWriter.cs
- CheckableControlBaseAdapter.cs
- DoubleConverter.cs
- PerformanceCountersElement.cs
- HttpServerVarsCollection.cs
- ObjectListGeneralPage.cs
- BorderGapMaskConverter.cs
- SiteMapHierarchicalDataSourceView.cs
- CodeMethodInvokeExpression.cs
- DescriptionAttribute.cs
- RequestCachingSection.cs
- ConnectionInterfaceCollection.cs
- DbParameterCollectionHelper.cs
- WebPartConnectionsDisconnectVerb.cs
- PartialArray.cs
- XmlSchemaException.cs
- Base64Decoder.cs
- IDQuery.cs
- FtpWebResponse.cs
- ConstructorNeedsTagAttribute.cs
- BufferCache.cs
- List.cs
- HttpListenerContext.cs
- SiteOfOriginPart.cs
- KeysConverter.cs
- EncryptedData.cs
- CodeTypeDelegate.cs
- XmlArrayItemAttributes.cs
- FontConverter.cs
- CommandBinding.cs
- ValidationError.cs
- BitmapImage.cs
- Blend.cs
- DesignerAttribute.cs
- GPStream.cs
- PasswordTextContainer.cs
- EncodingDataItem.cs
- ConfigurationLockCollection.cs
- IgnoreDataMemberAttribute.cs
- ScaleTransform.cs
- HMACSHA256.cs
- DataBoundControlHelper.cs
- ArgumentReference.cs
- RuntimeConfigLKG.cs
- ColumnResizeAdorner.cs
- SoapBinding.cs
- PowerStatus.cs
- DESCryptoServiceProvider.cs
- SimpleLine.cs
- UrlPropertyAttribute.cs
- GridViewCancelEditEventArgs.cs
- RepeatButton.cs
- Thread.cs
- XmlChoiceIdentifierAttribute.cs
- RouteItem.cs
- SessionPageStatePersister.cs
- HandleDictionary.cs
- CoreSwitches.cs
- PackagePart.cs
- FastEncoderWindow.cs
- Types.cs
- ACL.cs
- EdmItemError.cs
- ReadonlyMessageFilter.cs
- RankException.cs
- AccessViolationException.cs
- BreakSafeBase.cs
- CoTaskMemHandle.cs
- LogSwitch.cs
- ConfigXmlAttribute.cs
- UIElement3D.cs
- DataGridViewRowCollection.cs
- TransformPattern.cs
- BufferedStream.cs
- PriorityChain.cs
- ToolStripContentPanel.cs
- WeakReferenceKey.cs