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
- OleDbDataAdapter.cs
- WebCategoryAttribute.cs
- ResourcesChangeInfo.cs
- KerberosSecurityTokenParameters.cs
- DataSourceCache.cs
- WebConfigurationManager.cs
- ConnectionPool.cs
- TypeDescriptionProvider.cs
- ConnectionManagementElement.cs
- ElapsedEventArgs.cs
- ApplicationId.cs
- IndexedString.cs
- CodeSnippetExpression.cs
- NullableBoolConverter.cs
- ProcessThreadDesigner.cs
- infer.cs
- X509WindowsSecurityToken.cs
- ReadingWritingEntityEventArgs.cs
- PropertyDescriptor.cs
- WindowsSolidBrush.cs
- CollectionViewGroup.cs
- WebDescriptionAttribute.cs
- ParagraphResult.cs
- arc.cs
- BinaryConverter.cs
- PackageRelationshipSelector.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ToolStripItemDataObject.cs
- PersistStreamTypeWrapper.cs
- X500Name.cs
- TCPListener.cs
- TreeViewImageIndexConverter.cs
- XamlSerializerUtil.cs
- PageTheme.cs
- FormViewPageEventArgs.cs
- StrongName.cs
- DataGridPagerStyle.cs
- X509SecurityTokenParameters.cs
- CultureInfo.cs
- TableCellCollection.cs
- _FixedSizeReader.cs
- DataSpaceManager.cs
- ServiceObjectContainer.cs
- _LazyAsyncResult.cs
- CompiledRegexRunner.cs
- XPathNavigatorReader.cs
- HttpListener.cs
- RuntimeConfig.cs
- InputLanguage.cs
- Int16KeyFrameCollection.cs
- TemporaryBitmapFile.cs
- ParameterEditorUserControl.cs
- ToolboxBitmapAttribute.cs
- Publisher.cs
- AssemblyBuilder.cs
- StrongNamePublicKeyBlob.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- BitConverter.cs
- ObjectQueryExecutionPlan.cs
- PageFunction.cs
- ContentOperations.cs
- SymmetricCryptoHandle.cs
- GenericTypeParameterBuilder.cs
- XamlTreeBuilderBamlRecordWriter.cs
- _AutoWebProxyScriptEngine.cs
- SubMenuStyleCollectionEditor.cs
- AsyncOperationManager.cs
- AttributeSetAction.cs
- LogRestartAreaEnumerator.cs
- OleDbConnection.cs
- StackBuilderSink.cs
- ToolStripSeparator.cs
- ConsoleEntryPoint.cs
- SponsorHelper.cs
- VirtualizingPanel.cs
- Application.cs
- Operators.cs
- GenericTypeParameterBuilder.cs
- ServiceManager.cs
- DataTableReaderListener.cs
- CollectionBase.cs
- MultiByteCodec.cs
- Bold.cs
- GeneralTransform3DTo2D.cs
- KerberosTokenFactoryCredential.cs
- JsonWriter.cs
- HtmlSelect.cs
- XmlSchemaSimpleTypeList.cs
- Identity.cs
- MaterialCollection.cs
- Tablet.cs
- AsymmetricKeyExchangeFormatter.cs
- RuntimeHandles.cs
- ToolStripGrip.cs
- SoapEnumAttribute.cs
- MLangCodePageEncoding.cs
- MatrixConverter.cs
- ConfigurationPropertyCollection.cs
- ReadContentAsBinaryHelper.cs
- LineInfo.cs