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
- DefaultAsyncDataDispatcher.cs
- MetricEntry.cs
- PopupEventArgs.cs
- TablePatternIdentifiers.cs
- DecimalAnimationBase.cs
- XmlSchemaAnyAttribute.cs
- BaseParagraph.cs
- DesignerCategoryAttribute.cs
- ConfigurationErrorsException.cs
- PrintDialog.cs
- HostnameComparisonMode.cs
- PointConverter.cs
- Context.cs
- FlowDocumentScrollViewer.cs
- FixedTextBuilder.cs
- BlockCollection.cs
- BitmapVisualManager.cs
- WebPartConnectionsCloseVerb.cs
- ReflectEventDescriptor.cs
- DbConnectionPoolIdentity.cs
- TeredoHelper.cs
- SqlPersonalizationProvider.cs
- QueryCreatedEventArgs.cs
- InputBindingCollection.cs
- OutputScopeManager.cs
- SettingsPropertyValueCollection.cs
- SubMenuStyleCollection.cs
- HtmlElementEventArgs.cs
- TextBlock.cs
- SettingsPropertyCollection.cs
- ActiveXSite.cs
- Hex.cs
- RightsManagementEncryptedStream.cs
- RTLAwareMessageBox.cs
- XmlFormatExtensionPointAttribute.cs
- GridErrorDlg.cs
- RegexWriter.cs
- HijriCalendar.cs
- FlowNode.cs
- X509CertificateValidationMode.cs
- SimpleApplicationHost.cs
- GridViewRowCollection.cs
- SystemColors.cs
- EnumerableCollectionView.cs
- AppDomainManager.cs
- SystemSounds.cs
- SQLRoleProvider.cs
- WindowsImpersonationContext.cs
- EasingQuaternionKeyFrame.cs
- Pointer.cs
- DropDownList.cs
- EventDescriptor.cs
- ApplicationInterop.cs
- X509UI.cs
- ReflectEventDescriptor.cs
- ColorConverter.cs
- SizeConverter.cs
- ApplyImportsAction.cs
- BamlRecords.cs
- IFlowDocumentViewer.cs
- SchemaCollectionCompiler.cs
- OracleBFile.cs
- DiscoveryInnerClientAdhoc11.cs
- Logging.cs
- CodeTypeReferenceExpression.cs
- ImportCatalogPart.cs
- PreviewPageInfo.cs
- UdpRetransmissionSettings.cs
- GridToolTip.cs
- ResolveNameEventArgs.cs
- PropertyTabChangedEvent.cs
- DataSourceCache.cs
- httpserverutility.cs
- SessionStateModule.cs
- DataGridViewLinkColumn.cs
- IItemContainerGenerator.cs
- SpStreamWrapper.cs
- TypeSchema.cs
- BrowserDefinitionCollection.cs
- SafeFileMappingHandle.cs
- NameTable.cs
- EntityClientCacheKey.cs
- X509Certificate2Collection.cs
- FrameworkElementFactory.cs
- DecimalConstantAttribute.cs
- UpdatePanelControlTrigger.cs
- ExpressionWriter.cs
- DateTimeConverter.cs
- HttpCachePolicy.cs
- TextPattern.cs
- UnsafeNativeMethods.cs
- SchemaElementLookUpTable.cs
- Calendar.cs
- Typography.cs
- Effect.cs
- SecurityProtocolCorrelationState.cs
- DataView.cs
- DbConnectionPool.cs
- ConfigXmlDocument.cs
- Win32SafeHandles.cs