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
- ClientBuildManager.cs
- WindowsSysHeader.cs
- HttpModuleAction.cs
- XmlSerializer.cs
- XmlNamespaceDeclarationsAttribute.cs
- FileLogRecordStream.cs
- XmlLangPropertyAttribute.cs
- ListBox.cs
- DataServices.cs
- DataObjectSettingDataEventArgs.cs
- OdbcPermission.cs
- ClientSideQueueItem.cs
- Expander.cs
- NonPrimarySelectionGlyph.cs
- QuadraticBezierSegment.cs
- ProvideValueServiceProvider.cs
- HttpCapabilitiesBase.cs
- COMException.cs
- Point.cs
- Switch.cs
- ObjectTag.cs
- EntityContainerAssociationSetEnd.cs
- LowerCaseStringConverter.cs
- TypeNameConverter.cs
- PartManifestEntry.cs
- securitycriticaldataformultiplegetandset.cs
- OutgoingWebResponseContext.cs
- XmlLoader.cs
- ListSortDescription.cs
- BamlWriter.cs
- NullableConverter.cs
- TableParaClient.cs
- Attributes.cs
- ConsoleTraceListener.cs
- AsyncPostBackErrorEventArgs.cs
- DeferredElementTreeState.cs
- LogReservationCollection.cs
- Operator.cs
- SchemaElementDecl.cs
- SortQueryOperator.cs
- XmlSchemaSimpleTypeUnion.cs
- PropertyEmitter.cs
- ViewBase.cs
- SqlProfileProvider.cs
- VirtualPathUtility.cs
- BindingBase.cs
- ProviderSettingsCollection.cs
- ActivitiesCollection.cs
- IInstanceTable.cs
- SynchronizedDispatch.cs
- DbConnectionPool.cs
- TypeConverterAttribute.cs
- BaseCodePageEncoding.cs
- Util.cs
- SchemeSettingElement.cs
- ListViewInsertEventArgs.cs
- ThreadPool.cs
- SafeIUnknown.cs
- ItemsChangedEventArgs.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- SubMenuStyleCollection.cs
- BackgroundFormatInfo.cs
- BitmapFrameDecode.cs
- MailHeaderInfo.cs
- IBuiltInEvidence.cs
- PropertyTab.cs
- DataSourceHelper.cs
- ObjectSet.cs
- NameValuePair.cs
- ListView.cs
- FixUp.cs
- WebConfigurationFileMap.cs
- SqlProviderManifest.cs
- InputLanguageProfileNotifySink.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- SqlClientPermission.cs
- CommandDevice.cs
- WizardStepBase.cs
- Regex.cs
- ListBindingHelper.cs
- basecomparevalidator.cs
- SafeNativeMethods.cs
- login.cs
- HttpHandler.cs
- ColumnHeaderConverter.cs
- GraphicsContainer.cs
- BinaryFormatterWriter.cs
- EventLogEntryCollection.cs
- SqlBuilder.cs
- DataGridViewUtilities.cs
- Size.cs
- HttpResponse.cs
- RestHandler.cs
- WebColorConverter.cs
- MD5CryptoServiceProvider.cs
- AvTraceFormat.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- CorrelationService.cs
- MaskDesignerDialog.cs
- AncestorChangedEventArgs.cs