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
- MsmqDiagnostics.cs
- PageThemeBuildProvider.cs
- Storyboard.cs
- BuilderPropertyEntry.cs
- SelectorItemAutomationPeer.cs
- ImageDesigner.cs
- StoreItemCollection.Loader.cs
- smtppermission.cs
- ETagAttribute.cs
- DrawingServices.cs
- TypeConverter.cs
- MessageSmuggler.cs
- EntityProviderFactory.cs
- WorkflowServiceAttributes.cs
- RecordsAffectedEventArgs.cs
- XamlToRtfParser.cs
- LongValidatorAttribute.cs
- FileDialogCustomPlacesCollection.cs
- ToolStripPanelCell.cs
- FieldToken.cs
- SoapWriter.cs
- TableLayoutSettingsTypeConverter.cs
- ListViewUpdatedEventArgs.cs
- XmlDesignerDataSourceView.cs
- AstTree.cs
- ControlBuilder.cs
- LOSFormatter.cs
- StatusBarPanelClickEvent.cs
- WebPartConnectionCollection.cs
- ExpandCollapseProviderWrapper.cs
- embossbitmapeffect.cs
- MasterPage.cs
- XmlBinaryReader.cs
- ProfileGroupSettingsCollection.cs
- NetworkStream.cs
- ConfigXmlText.cs
- TextTreeText.cs
- FlowNode.cs
- WeakReferenceList.cs
- LateBoundChannelParameterCollection.cs
- ExpressionParser.cs
- BaseCollection.cs
- WindowsRichEdit.cs
- AlternationConverter.cs
- ColorAnimationBase.cs
- HoistedLocals.cs
- VisualBasicReference.cs
- HttpResponseBase.cs
- TaskResultSetter.cs
- EntitySetDataBindingList.cs
- ComponentResourceKey.cs
- SymLanguageType.cs
- RuleInfoComparer.cs
- HtmlLink.cs
- UITypeEditor.cs
- SwitchLevelAttribute.cs
- HostVisual.cs
- DesignerActionPanel.cs
- MessageBuffer.cs
- SnapshotChangeTrackingStrategy.cs
- DataColumnPropertyDescriptor.cs
- BlurBitmapEffect.cs
- XmlCharType.cs
- Size3D.cs
- MimeFormatter.cs
- MimeFormImporter.cs
- ToolStripContentPanel.cs
- SecurityChannelFactory.cs
- CodeDomLocalizationProvider.cs
- ParentUndoUnit.cs
- InvalidComObjectException.cs
- ImageAnimator.cs
- DesignerUtils.cs
- cookiecontainer.cs
- DynamicRendererThreadManager.cs
- EntityDataSourceContextCreatingEventArgs.cs
- AsymmetricKeyExchangeDeformatter.cs
- DataColumn.cs
- ListControl.cs
- FontFaceLayoutInfo.cs
- RijndaelManaged.cs
- AssemblyCollection.cs
- AuthorizationSection.cs
- SuppressMessageAttribute.cs
- ListControl.cs
- DataServiceQueryProvider.cs
- StructuredProperty.cs
- wgx_render.cs
- CustomAssemblyResolver.cs
- AbstractExpressions.cs
- ReflectionTypeLoadException.cs
- QueryOpeningEnumerator.cs
- RenderCapability.cs
- ResourceContainer.cs
- InternalCache.cs
- Comparer.cs
- WindowsListViewGroup.cs
- TableDetailsCollection.cs
- NativeMethods.cs
- StructuralComparisons.cs