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
- NativeMethods.cs
- Serializer.cs
- ItemChangedEventArgs.cs
- CurrencyWrapper.cs
- XmlSchemaAttributeGroupRef.cs
- ReversePositionQuery.cs
- TextTreeObjectNode.cs
- OptionUsage.cs
- ReadOnlyDataSourceView.cs
- unitconverter.cs
- ResourceReferenceExpressionConverter.cs
- FigureParagraph.cs
- ThreadAttributes.cs
- FrameworkContextData.cs
- ApplicationCommands.cs
- InkPresenterAutomationPeer.cs
- ArraySet.cs
- ColumnResizeUndoUnit.cs
- XamlBrushSerializer.cs
- PkcsMisc.cs
- LingerOption.cs
- UnmanagedHandle.cs
- GridEntryCollection.cs
- DelayedRegex.cs
- AdornerPresentationContext.cs
- GridViewCancelEditEventArgs.cs
- basevalidator.cs
- HtmlTernaryTree.cs
- Query.cs
- XmlDownloadManager.cs
- FullTextBreakpoint.cs
- FlowDocumentReader.cs
- SerTrace.cs
- SettingsProperty.cs
- ResolvedKeyFrameEntry.cs
- NameValueConfigurationElement.cs
- EnterpriseServicesHelper.cs
- InfoCardAsymmetricCrypto.cs
- ByteFacetDescriptionElement.cs
- DocumentPageViewAutomationPeer.cs
- CustomPopupPlacement.cs
- Latin1Encoding.cs
- ColumnBinding.cs
- ParseNumbers.cs
- ConfigXmlText.cs
- ScrollPattern.cs
- XmlRawWriter.cs
- BaseUriHelper.cs
- BrowserDefinition.cs
- Keyboard.cs
- CreateUserWizard.cs
- HtmlTableCell.cs
- ComAdminWrapper.cs
- documentation.cs
- _SslState.cs
- StreamUpgradeInitiator.cs
- FrugalList.cs
- LockCookie.cs
- DivideByZeroException.cs
- GridSplitterAutomationPeer.cs
- EventDescriptor.cs
- WebPartZoneCollection.cs
- SchemaSetCompiler.cs
- AsyncPostBackErrorEventArgs.cs
- StringResourceManager.cs
- Maps.cs
- DetailsViewUpdateEventArgs.cs
- DBConnection.cs
- Helpers.cs
- CompositeControl.cs
- TreeView.cs
- ObjectItemCachedAssemblyLoader.cs
- HttpModuleCollection.cs
- ObjectViewFactory.cs
- AsymmetricKeyExchangeDeformatter.cs
- VisualProxy.cs
- UidManager.cs
- BamlMapTable.cs
- PowerModeChangedEventArgs.cs
- IteratorFilter.cs
- PropertyValueChangedEvent.cs
- DataGridRow.cs
- PackWebRequestFactory.cs
- ConfigXmlComment.cs
- WebSysDescriptionAttribute.cs
- GeometryDrawing.cs
- TemplateManager.cs
- Margins.cs
- PerfProviderCollection.cs
- SecUtil.cs
- WebConfigurationFileMap.cs
- LoginName.cs
- SdlChannelSink.cs
- TimeManager.cs
- StreamGeometry.cs
- ComplexPropertyEntry.cs
- XmlSchemaAppInfo.cs
- WpfXamlType.cs
- Pkcs7Signer.cs
- sitestring.cs