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
- FirstMatchCodeGroup.cs
- SqlTransaction.cs
- MDIClient.cs
- HttpAsyncResult.cs
- SetIterators.cs
- TextFormatterImp.cs
- SourceFileBuildProvider.cs
- CheckBoxList.cs
- DefaultTraceListener.cs
- XPathNavigatorKeyComparer.cs
- MultipleViewProviderWrapper.cs
- ObjectDataSourceMethodEventArgs.cs
- WindowsUpDown.cs
- RuleSetCollection.cs
- DesignerSerializationManager.cs
- RowToFieldTransformer.cs
- ColumnMapVisitor.cs
- AttachedPropertyDescriptor.cs
- HttpCapabilitiesEvaluator.cs
- ObjectDataSourceFilteringEventArgs.cs
- DocumentPageTextView.cs
- ConditionedDesigner.cs
- LinkButton.cs
- XmlSchemaDatatype.cs
- HMAC.cs
- RegexCompiler.cs
- UnaryQueryOperator.cs
- XmlSchemaAttributeGroupRef.cs
- DataRowCollection.cs
- DesignerForm.cs
- WebHttpDispatchOperationSelectorData.cs
- DocumentSchemaValidator.cs
- PostBackOptions.cs
- RNGCryptoServiceProvider.cs
- ListView.cs
- MobileControlsSection.cs
- DataGridViewComboBoxEditingControl.cs
- WindowsTab.cs
- GeneralTransform3DTo2D.cs
- LambdaCompiler.Binary.cs
- ClientSettingsStore.cs
- TextSerializer.cs
- NotifyInputEventArgs.cs
- DataBoundControlAdapter.cs
- SoapUnknownHeader.cs
- FileDialogCustomPlaces.cs
- CodeValidator.cs
- ExpressionVisitor.cs
- List.cs
- EntityDataSourceEntityTypeFilterItem.cs
- FormViewAutoFormat.cs
- MultipartIdentifier.cs
- SetStateDesigner.cs
- ObjectDataProvider.cs
- RedBlackList.cs
- ComponentDispatcherThread.cs
- CheckBoxBaseAdapter.cs
- TypeConverterAttribute.cs
- ListViewItem.cs
- TraceSection.cs
- ECDiffieHellmanCngPublicKey.cs
- TypeGeneratedEventArgs.cs
- XamlWriter.cs
- QuestionEventArgs.cs
- TabletDeviceInfo.cs
- EventEntry.cs
- KeyedCollection.cs
- MonthChangedEventArgs.cs
- Assert.cs
- TabItemAutomationPeer.cs
- PreProcessInputEventArgs.cs
- BooleanSwitch.cs
- TreeBuilderBamlTranslator.cs
- CubicEase.cs
- Point3DCollectionValueSerializer.cs
- XmlSchemaCompilationSettings.cs
- SystemException.cs
- Rights.cs
- TileModeValidation.cs
- SessionSwitchEventArgs.cs
- FormatterConverter.cs
- CompiledQuery.cs
- AudioBase.cs
- SortDescription.cs
- JsonReaderWriterFactory.cs
- ConfigXmlSignificantWhitespace.cs
- NativeMethodsCLR.cs
- DbModificationClause.cs
- ToolStripPanel.cs
- Highlights.cs
- RuleSettingsCollection.cs
- PreservationFileWriter.cs
- ColorConvertedBitmapExtension.cs
- ItemCheckedEvent.cs
- RepeatInfo.cs
- TypeReference.cs
- FixedNode.cs
- SubpageParaClient.cs
- Material.cs
- ProgressBarHighlightConverter.cs