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
- CellRelation.cs
- GridViewRowPresenter.cs
- BasicAsyncResult.cs
- SubpageParaClient.cs
- EnumerableCollectionView.cs
- ListControl.cs
- DataGridCellsPanel.cs
- ImageIndexEditor.cs
- TextMarkerSource.cs
- ObservableDictionary.cs
- StrongNamePublicKeyBlob.cs
- Monitor.cs
- AnimationClock.cs
- LogicalExpressionTypeConverter.cs
- httpserverutility.cs
- OracleCommand.cs
- ComplexLine.cs
- PathData.cs
- FormatConvertedBitmap.cs
- CursorConverter.cs
- ListControlDataBindingHandler.cs
- WebUtility.cs
- RowVisual.cs
- BamlLocalizabilityResolver.cs
- CanonicalXml.cs
- CompositeActivityCodeGenerator.cs
- CreateParams.cs
- SafeLibraryHandle.cs
- AutomationPropertyInfo.cs
- RegisteredDisposeScript.cs
- RequestContext.cs
- InvokeProviderWrapper.cs
- ItemsPresenter.cs
- PostBackOptions.cs
- XmlSchemaProviderAttribute.cs
- hebrewshape.cs
- AssemblyBuilder.cs
- HttpAsyncResult.cs
- ArrayItemValue.cs
- ReadOnlyNameValueCollection.cs
- AnimationTimeline.cs
- SchemaEntity.cs
- HtmlButton.cs
- ObjectQuery.cs
- SpeakProgressEventArgs.cs
- SQLInt32.cs
- X509ChainPolicy.cs
- SqlDataSourceParameterParser.cs
- Gdiplus.cs
- ImageConverter.cs
- EntityClassGenerator.cs
- NTAccount.cs
- XmlDataImplementation.cs
- EncoderExceptionFallback.cs
- WebPartZone.cs
- Privilege.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- OutOfMemoryException.cs
- OwnerDrawPropertyBag.cs
- ManagementQuery.cs
- SoapReflectionImporter.cs
- FilterQuery.cs
- ScriptManager.cs
- ContentPropertyAttribute.cs
- ParameterBuilder.cs
- Int16Converter.cs
- ListControl.cs
- Point4D.cs
- XPathSelectionIterator.cs
- ToolStripPanelRow.cs
- EntityDataSourceSelectedEventArgs.cs
- WebPartConnectionsEventArgs.cs
- CaseInsensitiveHashCodeProvider.cs
- Int16.cs
- basemetadatamappingvisitor.cs
- Hashtable.cs
- ElementHostAutomationPeer.cs
- ModelFactory.cs
- SqlDataSourceStatusEventArgs.cs
- COAUTHIDENTITY.cs
- CmsInterop.cs
- InitialServerConnectionReader.cs
- StrokeNodeOperations2.cs
- LinqDataSourceView.cs
- DisplayToken.cs
- ColorContext.cs
- SrgsRuleRef.cs
- BitSet.cs
- TreeNodeStyle.cs
- WorkflowCreationContext.cs
- XmlnsDefinitionAttribute.cs
- Focus.cs
- RectangleGeometry.cs
- KeyConverter.cs
- BitmapCacheBrush.cs
- FileUpload.cs
- DataTablePropertyDescriptor.cs
- Converter.cs
- nulltextnavigator.cs
- ScopedKnownTypes.cs