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
- FieldInfo.cs
- ScriptingSectionGroup.cs
- CodeValidator.cs
- TransformProviderWrapper.cs
- BitmapScalingModeValidation.cs
- ToolStripItemTextRenderEventArgs.cs
- NavigationPropertyEmitter.cs
- KerberosSecurityTokenProvider.cs
- GorillaCodec.cs
- ReadingWritingEntityEventArgs.cs
- Expression.cs
- AppearanceEditorPart.cs
- AsyncOperation.cs
- AccessorTable.cs
- EventItfInfo.cs
- ScriptControlManager.cs
- XslAst.cs
- ListBoxChrome.cs
- StylusDownEventArgs.cs
- BaseConfigurationRecord.cs
- ThreadSafeList.cs
- ExceptionUtil.cs
- SudsCommon.cs
- InternalConfigHost.cs
- SearchExpression.cs
- Msec.cs
- XmlException.cs
- WebProxyScriptElement.cs
- DropTarget.cs
- BrowserCapabilitiesFactoryBase.cs
- RequestQueue.cs
- StrongNameKeyPair.cs
- ADMembershipProvider.cs
- DeferredSelectedIndexReference.cs
- WebPartAddingEventArgs.cs
- FlowDocumentReaderAutomationPeer.cs
- TrustManagerMoreInformation.cs
- HTTPNotFoundHandler.cs
- ObjectItemAttributeAssemblyLoader.cs
- SiteMapHierarchicalDataSourceView.cs
- BindingSource.cs
- ExpressionBuilderCollection.cs
- UseLicense.cs
- PersonalizablePropertyEntry.cs
- RelationalExpressions.cs
- HttpHeaderCollection.cs
- ButtonFlatAdapter.cs
- mediaclock.cs
- CodeEventReferenceExpression.cs
- CodeSnippetExpression.cs
- OleDbError.cs
- DataTemplateSelector.cs
- ContentOperations.cs
- ConnectionStringsSection.cs
- NullableLongAverageAggregationOperator.cs
- UriScheme.cs
- ReflectEventDescriptor.cs
- Label.cs
- AssemblyCache.cs
- QuaternionAnimation.cs
- LineGeometry.cs
- ConfigXmlDocument.cs
- GroupQuery.cs
- XmlElementElement.cs
- CollectionsUtil.cs
- TimeSpanConverter.cs
- TokenFactoryBase.cs
- EncoderParameters.cs
- xmlglyphRunInfo.cs
- WebPartManagerInternals.cs
- FuncCompletionCallbackWrapper.cs
- TextWriterTraceListener.cs
- BridgeDataRecord.cs
- SessionState.cs
- ZipFileInfo.cs
- TaskExtensions.cs
- Socket.cs
- BufferedGraphics.cs
- HttpServerVarsCollection.cs
- DataTablePropertyDescriptor.cs
- TimeoutException.cs
- HandoffBehavior.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- ScriptServiceAttribute.cs
- InProcStateClientManager.cs
- CalendarTable.cs
- Attributes.cs
- CodeSnippetCompileUnit.cs
- SchemaHelper.cs
- StringStorage.cs
- SelectionItemPatternIdentifiers.cs
- baseaxisquery.cs
- Composition.cs
- DataListItemCollection.cs
- IndexedGlyphRun.cs
- CookieParameter.cs
- RegexFCD.cs
- CustomExpression.cs
- StateDesigner.Helpers.cs
- ServiceOperationWrapper.cs