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
- ButtonDesigner.cs
- Lease.cs
- SchemaCollectionCompiler.cs
- InternalConfigEventArgs.cs
- Hashtable.cs
- RoleManagerSection.cs
- StreamReader.cs
- BaseTypeViewSchema.cs
- ExclusiveNamedPipeTransportManager.cs
- KnownIds.cs
- IconConverter.cs
- SortedDictionary.cs
- _AutoWebProxyScriptHelper.cs
- __TransparentProxy.cs
- ZoomPercentageConverter.cs
- ColorTransformHelper.cs
- FixedSOMElement.cs
- InstanceKeyCollisionException.cs
- MaterializeFromAtom.cs
- BitmapData.cs
- MetadataArtifactLoaderResource.cs
- Pen.cs
- ImageSource.cs
- LocatorPart.cs
- DesignTimeVisibleAttribute.cs
- BinaryNode.cs
- ContentHostHelper.cs
- WsatServiceCertificate.cs
- XomlCompilerError.cs
- ProbeDuplexAsyncResult.cs
- StaticFileHandler.cs
- _NestedMultipleAsyncResult.cs
- ProtectedProviderSettings.cs
- DataGridBeginningEditEventArgs.cs
- Grant.cs
- RowSpanVector.cs
- SystemIPGlobalStatistics.cs
- SQLMoney.cs
- XmlSchemaAny.cs
- SmiContextFactory.cs
- SmtpNetworkElement.cs
- DrawingGroupDrawingContext.cs
- MessageLogger.cs
- Drawing.cs
- Visual3DCollection.cs
- GridViewSelectEventArgs.cs
- AsyncStreamReader.cs
- ADMembershipUser.cs
- IPPacketInformation.cs
- MailWriter.cs
- Image.cs
- EntityRecordInfo.cs
- SchemaImporterExtension.cs
- BrowserDefinitionCollection.cs
- PropertyChangingEventArgs.cs
- ElementProxy.cs
- ComAdminWrapper.cs
- ListView.cs
- FlowNode.cs
- NameTable.cs
- DesignerVerb.cs
- SortDescription.cs
- CacheAxisQuery.cs
- DataGridViewDataErrorEventArgs.cs
- AuthenticationException.cs
- SqlDeflator.cs
- HiddenField.cs
- SystemGatewayIPAddressInformation.cs
- ListView.cs
- TrustExchangeException.cs
- MultiPageTextView.cs
- pingexception.cs
- RemotingConfiguration.cs
- RenderingBiasValidation.cs
- XPathPatternBuilder.cs
- ReferenceEqualityComparer.cs
- WorkflowMessageEventHandler.cs
- RotateTransform.cs
- ClientUIRequest.cs
- StatusBar.cs
- InProcStateClientManager.cs
- MetadataItemSerializer.cs
- ConsumerConnectionPoint.cs
- RootBuilder.cs
- EndpointAddressAugust2004.cs
- PolicyException.cs
- CapabilitiesPattern.cs
- CfgRule.cs
- _RequestLifetimeSetter.cs
- ControlAdapter.cs
- Descriptor.cs
- GatewayDefinition.cs
- FilterableData.cs
- WebScriptMetadataMessageEncoderFactory.cs
- XmlConverter.cs
- SiteMembershipCondition.cs
- HttpDictionary.cs
- FileRecordSequence.cs
- SignatureDescription.cs
- DBNull.cs