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
- CustomLineCap.cs
- XmlEntityReference.cs
- PreservationFileReader.cs
- FrameworkTextComposition.cs
- IdnElement.cs
- CommonDialog.cs
- SmtpFailedRecipientsException.cs
- InvalidAsynchronousStateException.cs
- NativeMethods.cs
- FileUpload.cs
- StorageConditionPropertyMapping.cs
- RelOps.cs
- SecureStringHasher.cs
- XmlNode.cs
- ResourceExpressionBuilder.cs
- CustomAttribute.cs
- AttributeEmitter.cs
- SafePointer.cs
- ConfigurationElementProperty.cs
- Environment.cs
- ItemType.cs
- SeverityFilter.cs
- IntSecurity.cs
- MonikerSyntaxException.cs
- ProtocolElementCollection.cs
- EpmCustomContentDeSerializer.cs
- DataGridLinkButton.cs
- RawKeyboardInputReport.cs
- DataContractSerializer.cs
- SystemSounds.cs
- OrderPreservingPipeliningMergeHelper.cs
- documentsequencetextcontainer.cs
- SamlAdvice.cs
- DependencyStoreSurrogate.cs
- TextBounds.cs
- RangeValuePattern.cs
- QilBinary.cs
- Substitution.cs
- DataGridViewAccessibleObject.cs
- GraphicsState.cs
- MaskDescriptor.cs
- XmlDataDocument.cs
- GPStream.cs
- PrePostDescendentsWalker.cs
- DbDataRecord.cs
- SortedList.cs
- Storyboard.cs
- PropertyGridCommands.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- Evidence.cs
- AdornerHitTestResult.cs
- ImageInfo.cs
- MailAddress.cs
- DeleteStoreRequest.cs
- GridSplitterAutomationPeer.cs
- ClientTargetSection.cs
- PeerValidationBehavior.cs
- RegexRunner.cs
- ReferencedType.cs
- RangeBase.cs
- ButtonBase.cs
- NumberFormatInfo.cs
- ScrollEvent.cs
- AssemblyAssociatedContentFileAttribute.cs
- XsltArgumentList.cs
- SqlCommand.cs
- DataGridViewBand.cs
- HtmlTable.cs
- StrokeCollectionConverter.cs
- HideDisabledControlAdapter.cs
- WhereQueryOperator.cs
- ObjectListFieldCollection.cs
- Deflater.cs
- RequestSecurityTokenSerializer.cs
- SiteMap.cs
- CLSCompliantAttribute.cs
- IDQuery.cs
- Classification.cs
- __TransparentProxy.cs
- SchemaTypeEmitter.cs
- XPathArrayIterator.cs
- Effect.cs
- DeclaredTypeElementCollection.cs
- StylusPoint.cs
- WebReferencesBuildProvider.cs
- OverflowException.cs
- HashHelper.cs
- DebuggerService.cs
- SQLRoleProvider.cs
- FixedPageProcessor.cs
- ToolBarButton.cs
- NamespaceInfo.cs
- ConfigXmlElement.cs
- XsltLibrary.cs
- XmlImplementation.cs
- AnnotationComponentChooser.cs
- SectionVisual.cs
- ExpanderAutomationPeer.cs
- OutOfMemoryException.cs
- TokenBasedSetEnumerator.cs