Code:
/ FX-1434 / FX-1434 / 1.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
- UIAgentRequest.cs
- MatrixConverter.cs
- OpenFileDialog.cs
- RegistrySecurity.cs
- LinearKeyFrames.cs
- CalendarModeChangedEventArgs.cs
- regiisutil.cs
- Attributes.cs
- PropertyInfoSet.cs
- _SslStream.cs
- Binding.cs
- Sql8ConformanceChecker.cs
- AdapterDictionary.cs
- SystemFonts.cs
- UntrustedRecipientException.cs
- MouseWheelEventArgs.cs
- XmlSchemaSequence.cs
- SqlInfoMessageEvent.cs
- DetailsViewDeleteEventArgs.cs
- ConfigurationManager.cs
- DataFieldConverter.cs
- ConstraintManager.cs
- AttachedAnnotationChangedEventArgs.cs
- SqlOuterApplyReducer.cs
- XmlRootAttribute.cs
- Baml2006KnownTypes.cs
- FontDriver.cs
- StreamingContext.cs
- WindowShowOrOpenTracker.cs
- ConditionValidator.cs
- Double.cs
- OuterGlowBitmapEffect.cs
- QilXmlWriter.cs
- RoutedEventValueSerializer.cs
- ManagedWndProcTracker.cs
- CodeDefaultValueExpression.cs
- SqlVersion.cs
- ProcessModelSection.cs
- SchemaNotation.cs
- TextBlock.cs
- StrongTypingException.cs
- EnumValAlphaComparer.cs
- PasswordPropertyTextAttribute.cs
- Quad.cs
- CollectionTypeElement.cs
- FunctionUpdateCommand.cs
- Peer.cs
- OleDbParameterCollection.cs
- ScriptingProfileServiceSection.cs
- StringUtil.cs
- AVElementHelper.cs
- PropertyNames.cs
- OrderByQueryOptionExpression.cs
- odbcmetadatacolumnnames.cs
- SQLBoolean.cs
- PrintSystemException.cs
- UnsafeNativeMethods.cs
- EditorPartCollection.cs
- PrintControllerWithStatusDialog.cs
- HttpGetServerProtocol.cs
- MessageTraceRecord.cs
- ChangesetResponse.cs
- ScriptingSectionGroup.cs
- ToolStripDropDownClosingEventArgs.cs
- ImageSourceConverter.cs
- ChangePassword.cs
- EventSourceCreationData.cs
- RelatedImageListAttribute.cs
- PlatformCulture.cs
- SiteMapDataSourceView.cs
- TextEditorThreadLocalStore.cs
- BufferedStream.cs
- ProfileGroupSettings.cs
- EntityContainerEntitySet.cs
- WindowsImpersonationContext.cs
- ReferenceAssemblyAttribute.cs
- XhtmlBasicTextBoxAdapter.cs
- DataKey.cs
- CleanUpVirtualizedItemEventArgs.cs
- CacheVirtualItemsEvent.cs
- SystemDiagnosticsSection.cs
- IndexOutOfRangeException.cs
- ValidatorAttribute.cs
- SQLMoney.cs
- SqlUtils.cs
- ButtonChrome.cs
- _UriSyntax.cs
- Base64Stream.cs
- ImageUrlEditor.cs
- UriTemplateMatch.cs
- FormatConvertedBitmap.cs
- XmlMemberMapping.cs
- ProviderBase.cs
- MetaColumn.cs
- DeobfuscatingStream.cs
- ToolboxComponentsCreatedEventArgs.cs
- DebugInfo.cs
- TextEditorSelection.cs
- SiteMapProvider.cs
- XmlReader.cs