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
- Delay.cs
- XmlSchemaComplexContentRestriction.cs
- TableLayoutColumnStyleCollection.cs
- ButtonBaseAdapter.cs
- Regex.cs
- XomlCompilerResults.cs
- UnsafeNativeMethods.cs
- __ComObject.cs
- MediaContext.cs
- PageThemeParser.cs
- WeakReference.cs
- Positioning.cs
- GetPageNumberCompletedEventArgs.cs
- QueryGenerator.cs
- MemberPath.cs
- EditorAttribute.cs
- ProviderUtil.cs
- EntityModelBuildProvider.cs
- ConfigXmlCDataSection.cs
- ExtendedProtectionPolicyTypeConverter.cs
- InfoCardSymmetricCrypto.cs
- TreeViewBindingsEditor.cs
- ProtocolViolationException.cs
- CatalogPartCollection.cs
- HtmlTable.cs
- InstalledFontCollection.cs
- HtmlControlPersistable.cs
- EdgeModeValidation.cs
- Keyboard.cs
- SQLConvert.cs
- _NtlmClient.cs
- MsmqOutputMessage.cs
- ConnectionPointCookie.cs
- DnsPermission.cs
- FormatException.cs
- DoubleLinkListEnumerator.cs
- shaper.cs
- ErrorsHelper.cs
- ScrollItemProviderWrapper.cs
- HtmlHistory.cs
- TextBoxAutomationPeer.cs
- NumberFormatInfo.cs
- SqlDataSourceQuery.cs
- NotImplementedException.cs
- ScriptControlManager.cs
- EntityCommand.cs
- HtmlElementErrorEventArgs.cs
- SafeNativeMethods.cs
- TablePattern.cs
- ComponentChangingEvent.cs
- FollowerQueueCreator.cs
- XmlSchemaParticle.cs
- DictionaryContent.cs
- XmlSchemaSimpleTypeRestriction.cs
- PropertyStore.cs
- HttpListenerRequest.cs
- SqlFlattener.cs
- EdmComplexPropertyAttribute.cs
- BackStopAuthenticationModule.cs
- ManipulationDevice.cs
- TransactionFilter.cs
- StructuredTypeInfo.cs
- ExtendedProtectionPolicy.cs
- SignatureSummaryDialog.cs
- CodeSnippetCompileUnit.cs
- ImportCatalogPart.cs
- Grant.cs
- Section.cs
- MessageBodyMemberAttribute.cs
- VirtualPath.cs
- TextProperties.cs
- NetworkStream.cs
- WindowsProgressbar.cs
- LinkButton.cs
- WebPartManager.cs
- WmlPanelAdapter.cs
- TreeViewDataItemAutomationPeer.cs
- EllipseGeometry.cs
- DataServiceHostFactory.cs
- AstTree.cs
- OperationResponse.cs
- CompilationSection.cs
- Rect3D.cs
- ForceCopyBuildProvider.cs
- RenderDataDrawingContext.cs
- AutomationElementCollection.cs
- SelectedGridItemChangedEvent.cs
- SourceFileBuildProvider.cs
- DbgUtil.cs
- RegexRunner.cs
- ModuleConfigurationInfo.cs
- ConsoleEntryPoint.cs
- FillRuleValidation.cs
- ComboBoxItem.cs
- Site.cs
- SafeArrayRankMismatchException.cs
- BookmarkUndoUnit.cs
- ViewManager.cs
- BooleanAnimationBase.cs
- XamlSerializer.cs