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
- WindowsProgressbar.cs
- TaskFileService.cs
- Decorator.cs
- PersonalizationProviderHelper.cs
- HttpResponseInternalWrapper.cs
- TextTreeUndo.cs
- LoginCancelEventArgs.cs
- SuppressIldasmAttribute.cs
- MediaEntryAttribute.cs
- InputBinding.cs
- InstanceCollisionException.cs
- ApplicationGesture.cs
- SelectionEditingBehavior.cs
- BitmapEffectState.cs
- XamlRtfConverter.cs
- DesignerGenericWebPart.cs
- RegexMatchCollection.cs
- GeneratedContractType.cs
- ExcCanonicalXml.cs
- HttpException.cs
- FormsAuthenticationConfiguration.cs
- ThousandthOfEmRealPoints.cs
- WindowHideOrCloseTracker.cs
- ImageAnimator.cs
- RoleManagerEventArgs.cs
- SqlConnectionString.cs
- IncrementalCompileAnalyzer.cs
- StyleHelper.cs
- Vector3D.cs
- Update.cs
- ParallelTimeline.cs
- CurrentTimeZone.cs
- cache.cs
- ValidationPropertyAttribute.cs
- BindingCompleteEventArgs.cs
- CatalogPart.cs
- RenderingEventArgs.cs
- ProviderConnectionPoint.cs
- JapaneseLunisolarCalendar.cs
- DbDataReader.cs
- DbConnectionPoolOptions.cs
- HtmlInputCheckBox.cs
- CreateUserWizardStep.cs
- AdornerPresentationContext.cs
- TextBoxBase.cs
- HitTestWithPointDrawingContextWalker.cs
- EditorPartChrome.cs
- MachineKeyConverter.cs
- CssClassPropertyAttribute.cs
- AnonymousIdentificationSection.cs
- WizardPanel.cs
- PrintDialog.cs
- DbMetaDataCollectionNames.cs
- GlobalItem.cs
- DataControlLinkButton.cs
- SessionPageStatePersister.cs
- ResolveResponse.cs
- contentDescriptor.cs
- WebReferencesBuildProvider.cs
- PropertyGridCommands.cs
- XmlNodeChangedEventArgs.cs
- NaturalLanguageHyphenator.cs
- DataObject.cs
- WindowsListViewSubItem.cs
- DateTimeConstantAttribute.cs
- GridEntry.cs
- CalloutQueueItem.cs
- FixedTextPointer.cs
- Tile.cs
- wgx_commands.cs
- Perspective.cs
- DbConnectionPoolOptions.cs
- ArraySegment.cs
- StylusPointPropertyInfoDefaults.cs
- StrokeCollection2.cs
- FormViewUpdatedEventArgs.cs
- ValidationEventArgs.cs
- DataControlReference.cs
- IdleTimeoutMonitor.cs
- FamilyTypeface.cs
- ClientSideQueueItem.cs
- EncoderReplacementFallback.cs
- FrugalMap.cs
- SkewTransform.cs
- RSAOAEPKeyExchangeFormatter.cs
- HyperLinkDesigner.cs
- TransactionManager.cs
- StrokeNodeOperations.cs
- WebPartZoneCollection.cs
- TrackBarRenderer.cs
- WriteableBitmap.cs
- DataControlFieldHeaderCell.cs
- MessageVersion.cs
- XmlKeywords.cs
- ExceptionUtility.cs
- PointCollection.cs
- TransactionsSectionGroup.cs
- FontFamilyIdentifier.cs
- DataGridTableCollection.cs
- CallId.cs