Code:
/ DotNET / DotNET / 8.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
- Exception.cs
- RegexFCD.cs
- ConfigurationProperty.cs
- MultiSelectRootGridEntry.cs
- CompositeDataBoundControl.cs
- TextRangeAdaptor.cs
- CanExpandCollapseAllConverter.cs
- ObjectNavigationPropertyMapping.cs
- CqlParser.cs
- HierarchicalDataBoundControl.cs
- FilteredXmlReader.cs
- BufferModeSettings.cs
- XmlSchemaSubstitutionGroup.cs
- EmbeddedMailObjectsCollection.cs
- IISUnsafeMethods.cs
- HtmlInputCheckBox.cs
- BooleanFunctions.cs
- ChildChangedEventArgs.cs
- RoutedEventValueSerializer.cs
- RegistryConfigurationProvider.cs
- ExtensionSimplifierMarkupObject.cs
- XmlWrappingWriter.cs
- CatalogZoneDesigner.cs
- MediaSystem.cs
- SimpleTypesSurrogate.cs
- ParentQuery.cs
- TextFormatterImp.cs
- HeaderedContentControl.cs
- AsyncOperationContext.cs
- TextEditorSelection.cs
- HttpCapabilitiesSectionHandler.cs
- IgnoreDeviceFilterElement.cs
- DateTimeFormatInfo.cs
- ParamArrayAttribute.cs
- DataGridViewHitTestInfo.cs
- GenericWebPart.cs
- CodePageEncoding.cs
- MetafileEditor.cs
- smtppermission.cs
- RequestResponse.cs
- SynchronizingStream.cs
- OdbcFactory.cs
- QueryReaderSettings.cs
- OneToOneMappingSerializer.cs
- Membership.cs
- Icon.cs
- NativeMethods.cs
- SqlTriggerContext.cs
- DataGridItem.cs
- IgnoreSection.cs
- ErrorStyle.cs
- TripleDESCryptoServiceProvider.cs
- LineInfo.cs
- VolatileResourceManager.cs
- StatusBarAutomationPeer.cs
- DbParameterHelper.cs
- Convert.cs
- DynamicDocumentPaginator.cs
- DefaultSection.cs
- DiscoveryEndpoint.cs
- AsymmetricSignatureFormatter.cs
- BlockUIContainer.cs
- CompiledELinqQueryState.cs
- ListViewItem.cs
- ColumnMapCopier.cs
- NameValuePermission.cs
- iisPickupDirectory.cs
- HtmlInputPassword.cs
- GraphicsPathIterator.cs
- ControlCachePolicy.cs
- FixUp.cs
- ApplicationDirectory.cs
- DataGridViewCellStyleChangedEventArgs.cs
- ExpandoObject.cs
- BitmapEffectGeneralTransform.cs
- OleDbConnection.cs
- WebPart.cs
- ErrorLog.cs
- RoleProviderPrincipal.cs
- AffineTransform3D.cs
- QuadraticBezierSegment.cs
- ContentPlaceHolder.cs
- NullExtension.cs
- QilReplaceVisitor.cs
- WebRequestModuleElement.cs
- WorkflowServiceHostFactory.cs
- WebPartConnectionCollection.cs
- DataListItemEventArgs.cs
- StringUtil.cs
- BufferedMessageData.cs
- ThreadPool.cs
- InvalidCastException.cs
- DetailsViewPageEventArgs.cs
- WpfGeneratedKnownTypes.cs
- FlowLayout.cs
- DeclaredTypeValidatorAttribute.cs
- ShapeTypeface.cs
- ExpressionBuilderCollection.cs
- StaticContext.cs
- HtmlForm.cs