Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / WinForms / Managed / System / WinForms / ProgressBarRenderer.cs / 1 / ProgressBarRenderer.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using System.Drawing; using System.Diagnostics.CodeAnalysis; using System.Windows.Forms.VisualStyles; using Microsoft.Win32; ////// /// public sealed class ProgressBarRenderer { //Make this per-thread, so that different threads can safely use these methods. [ThreadStatic] private static VisualStyleRenderer visualStyleRenderer = null; //cannot instantiate private ProgressBarRenderer() { } ////// This is a rendering class for the ProgressBar control. /// ////// /// public static bool IsSupported { get { return VisualStyleRenderer.IsSupported; // no downlevel support } } ////// Returns true if this class is supported for the current OS and user/application settings, /// otherwise returns false. /// ////// /// [ SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters") // Using Graphics instead of IDeviceContext intentionally ] public static void DrawHorizontalBar(Graphics g, Rectangle bounds) { InitializeRenderer(VisualStyleElement.ProgressBar.Bar.Normal); visualStyleRenderer.DrawBackground(g, bounds); } ////// Renders a horizontal bar. /// ////// /// [ SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters") // Using Graphics instead of IDeviceContext intentionally ] public static void DrawVerticalBar(Graphics g, Rectangle bounds) { InitializeRenderer(VisualStyleElement.ProgressBar.BarVertical.Normal); visualStyleRenderer.DrawBackground(g, bounds); } ////// Renders a vertical bar. /// ////// /// [ SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters") // Using Graphics instead of IDeviceContext intentionally ] public static void DrawHorizontalChunks(Graphics g, Rectangle bounds) { InitializeRenderer(VisualStyleElement.ProgressBar.Chunk.Normal); visualStyleRenderer.DrawBackground(g, bounds); } ////// Renders a number of constant size horizontal chunks in the given bounds. /// ////// /// [ SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters") // Using Graphics instead of IDeviceContext intentionally ] public static void DrawVerticalChunks(Graphics g, Rectangle bounds) { InitializeRenderer(VisualStyleElement.ProgressBar.ChunkVertical.Normal); visualStyleRenderer.DrawBackground(g, bounds); } ////// Renders a number of constant size vertical chunks in the given bounds. /// ////// /// public static int ChunkThickness { get { InitializeRenderer(VisualStyleElement.ProgressBar.Chunk.Normal); return (visualStyleRenderer.GetInteger(IntegerProperty.ProgressChunkSize)); } } ////// Returns the width/height of a single horizontal/vertical progress bar chunk. /// ////// /// public static int ChunkSpaceThickness { get { InitializeRenderer(VisualStyleElement.ProgressBar.Chunk.Normal); return (visualStyleRenderer.GetInteger(IntegerProperty.ProgressSpaceSize)); } } private static void InitializeRenderer(VisualStyleElement element) { if (visualStyleRenderer == null) { visualStyleRenderer = new VisualStyleRenderer(element); } else { visualStyleRenderer.SetParameters(element); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved./// Returns the width/height of the space between horizontal/vertical progress bar chunks. /// ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TreeViewAutomationPeer.cs
- ObjectStorage.cs
- ICollection.cs
- Int32Converter.cs
- TreeNodeEventArgs.cs
- CreatingCookieEventArgs.cs
- PagerSettings.cs
- ClientUrlResolverWrapper.cs
- TemplateControlBuildProvider.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- FontInfo.cs
- Font.cs
- Select.cs
- TextChange.cs
- DesignerDeviceConfig.cs
- AssemblyBuilder.cs
- Range.cs
- Qualifier.cs
- HtmlLink.cs
- TranslateTransform3D.cs
- PassportAuthentication.cs
- GenericArgumentsUpdater.cs
- WebScriptMetadataMessage.cs
- SymbolEqualComparer.cs
- DataServiceContext.cs
- sapiproxy.cs
- TypeBuilder.cs
- RightsDocument.cs
- TreeNodeBinding.cs
- FixedSOMTable.cs
- _Semaphore.cs
- TraceUtility.cs
- CfgParser.cs
- TextLine.cs
- ActivitiesCollection.cs
- XmlNodeChangedEventArgs.cs
- IssuanceTokenProviderBase.cs
- Focus.cs
- WindowsToolbarAsMenu.cs
- ReferenceService.cs
- FontSizeConverter.cs
- ImageCreator.cs
- InkCanvasSelectionAdorner.cs
- NetworkInformationException.cs
- RIPEMD160.cs
- FormViewInsertedEventArgs.cs
- DictionaryEntry.cs
- Activator.cs
- QueryProcessor.cs
- securitycriticaldataformultiplegetandset.cs
- XmlName.cs
- Parallel.cs
- NativeMethods.cs
- ItemTypeToolStripMenuItem.cs
- DecodeHelper.cs
- DataGridViewRowEventArgs.cs
- DateTimeOffsetStorage.cs
- Convert.cs
- PropertyStore.cs
- HttpCapabilitiesSectionHandler.cs
- InternalConfigEventArgs.cs
- TextAction.cs
- ListBox.cs
- NavigationWindowAutomationPeer.cs
- SerializationEventsCache.cs
- OdbcUtils.cs
- QuaternionAnimationBase.cs
- SoapSchemaExporter.cs
- UpdatePanelTrigger.cs
- ConditionalAttribute.cs
- DbMetaDataFactory.cs
- StylusPointPropertyUnit.cs
- FontNamesConverter.cs
- PrinterResolution.cs
- StrongNameUtility.cs
- Relationship.cs
- PropertyRecord.cs
- DisplayNameAttribute.cs
- JapaneseCalendar.cs
- NumericUpDownAcceleration.cs
- PaintValueEventArgs.cs
- PowerModeChangedEventArgs.cs
- TranslateTransform.cs
- SettingsBindableAttribute.cs
- SerializationBinder.cs
- TraceHwndHost.cs
- WebPartDescriptionCollection.cs
- HTTPNotFoundHandler.cs
- Margins.cs
- ListArgumentProvider.cs
- TemplatedWizardStep.cs
- ListViewHitTestInfo.cs
- CryptoKeySecurity.cs
- TriggerActionCollection.cs
- DependencySource.cs
- CodeIdentifiers.cs
- InkCanvas.cs
- BindingMemberInfo.cs
- XmlUtil.cs
- HttpHandlerAction.cs