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
- ResourceReader.cs
- ConfigXmlCDataSection.cs
- CustomAssemblyResolver.cs
- XmlDataDocument.cs
- HebrewNumber.cs
- DateTimeSerializationSection.cs
- SafeProcessHandle.cs
- TextServicesHost.cs
- ImageBrush.cs
- SecurityResources.cs
- TriggerCollection.cs
- ProfileBuildProvider.cs
- DynamicActivityTypeDescriptor.cs
- TypeBuilderInstantiation.cs
- EntityAdapter.cs
- CommandTreeTypeHelper.cs
- NamespaceDecl.cs
- EntityType.cs
- ChangePassword.cs
- PropertyValueUIItem.cs
- MessagePropertyFilter.cs
- HostingEnvironment.cs
- EntityDataSourceContainerNameItem.cs
- DataListItem.cs
- RunWorkerCompletedEventArgs.cs
- DrawingBrush.cs
- TextElementEnumerator.cs
- SqlMultiplexer.cs
- ContextConfiguration.cs
- TableRowCollection.cs
- DataServiceQueryException.cs
- DataListCommandEventArgs.cs
- TableChangeProcessor.cs
- Predicate.cs
- HMACRIPEMD160.cs
- ForEachAction.cs
- RewritingProcessor.cs
- ClientSideProviderDescription.cs
- CapabilitiesPattern.cs
- ComponentResourceKeyConverter.cs
- nulltextcontainer.cs
- GeneralTransform3DTo2D.cs
- HtmlInputReset.cs
- SqlDataReaderSmi.cs
- SelectionManager.cs
- ThreadAbortException.cs
- Invariant.cs
- LogArchiveSnapshot.cs
- SingleAnimation.cs
- NamespaceInfo.cs
- RectKeyFrameCollection.cs
- XmlDomTextWriter.cs
- ReflectEventDescriptor.cs
- SchemaMapping.cs
- XPathDocumentBuilder.cs
- DesignerAttribute.cs
- HttpDictionary.cs
- DynamicMethod.cs
- HierarchicalDataSourceControl.cs
- ConstraintStruct.cs
- UTF7Encoding.cs
- DataGridViewEditingControlShowingEventArgs.cs
- DataAccessor.cs
- ListItemCollection.cs
- ListItemParagraph.cs
- ADConnectionHelper.cs
- BamlWriter.cs
- CustomExpressionEventArgs.cs
- DbDeleteCommandTree.cs
- TextParagraph.cs
- BitmapImage.cs
- Registry.cs
- IncrementalCompileAnalyzer.cs
- CodeSnippetTypeMember.cs
- GlobalizationSection.cs
- DataGrid.cs
- FontNamesConverter.cs
- TransportBindingElement.cs
- AnnotationAuthorChangedEventArgs.cs
- SelfIssuedAuthAsymmetricKey.cs
- XmlChoiceIdentifierAttribute.cs
- DateRangeEvent.cs
- WmlPageAdapter.cs
- ToolstripProfessionalRenderer.cs
- SelectionHighlightInfo.cs
- BitmapSourceSafeMILHandle.cs
- Nullable.cs
- TreeView.cs
- LazyTextWriterCreator.cs
- CharacterString.cs
- ViewgenGatekeeper.cs
- TemplateBuilder.cs
- RSAPKCS1KeyExchangeFormatter.cs
- DateTimeFormatInfoScanner.cs
- _Win32.cs
- MinimizableAttributeTypeConverter.cs
- SafeThreadHandle.cs
- PackagingUtilities.cs
- BooleanAnimationUsingKeyFrames.cs
- FrugalMap.cs