Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ProgressBarRenderer.cs / 1305376 / 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./// 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
- Assert.cs
- FontFamily.cs
- Unit.cs
- ThreadPool.cs
- QueryExtender.cs
- BitmapMetadata.cs
- BuildProvider.cs
- HtmlTableCell.cs
- TransformerInfo.cs
- StickyNoteAnnotations.cs
- WebAdminConfigurationHelper.cs
- OpacityConverter.cs
- KoreanCalendar.cs
- COM2FontConverter.cs
- ObjectDataSourceView.cs
- SoapFaultCodes.cs
- DataFormat.cs
- GetMemberBinder.cs
- WebPartTransformer.cs
- XpsImageSerializationService.cs
- MailMessageEventArgs.cs
- ViewGenerator.cs
- QuaternionRotation3D.cs
- RectIndependentAnimationStorage.cs
- FieldTemplateUserControl.cs
- OperationContextScope.cs
- BooleanAnimationBase.cs
- DesignerSerializationVisibilityAttribute.cs
- httpapplicationstate.cs
- GridLength.cs
- InfoCardArgumentException.cs
- ActionItem.cs
- QualifiedId.cs
- Frame.cs
- CodeCatchClauseCollection.cs
- PersonalizationEntry.cs
- ParallelTimeline.cs
- PathGeometry.cs
- HostingPreferredMapPath.cs
- OleDbDataReader.cs
- ChtmlMobileTextWriter.cs
- Win32.cs
- HttpListenerElement.cs
- ParentQuery.cs
- ClientCredentialsSecurityTokenManager.cs
- ImageMap.cs
- NestedContainer.cs
- SqlInternalConnectionTds.cs
- CatalogPartDesigner.cs
- VirtualizingPanel.cs
- CellPartitioner.cs
- ObjectIDGenerator.cs
- XmlSignatureManifest.cs
- RectAnimationBase.cs
- EventRouteFactory.cs
- ObjectSerializerFactory.cs
- ValueQuery.cs
- TargetPerspective.cs
- WinEventQueueItem.cs
- DiscoveryDocument.cs
- RelatedPropertyManager.cs
- WmpBitmapEncoder.cs
- DesignerActionItem.cs
- ResourceWriter.cs
- SkewTransform.cs
- QuotedStringWriteStateInfo.cs
- ContextMenuService.cs
- StreamUpgradeProvider.cs
- HitTestDrawingContextWalker.cs
- ToolZone.cs
- PrintDialog.cs
- DataGridViewBindingCompleteEventArgs.cs
- DBParameter.cs
- WindowsListView.cs
- EventItfInfo.cs
- DataGridViewRowPrePaintEventArgs.cs
- PointConverter.cs
- XmlNotation.cs
- WebConfigurationFileMap.cs
- SQLDouble.cs
- StringResourceManager.cs
- Win32.cs
- DisableDpiAwarenessAttribute.cs
- CanonicalXml.cs
- LogicalCallContext.cs
- XmlLinkedNode.cs
- DynamicValidator.cs
- DocumentXPathNavigator.cs
- PeerCustomResolverElement.cs
- TableItemPatternIdentifiers.cs
- CheckBox.cs
- Rect.cs
- FontUnit.cs
- SecurityDocument.cs
- UnsafeNativeMethodsTablet.cs
- ErrorRuntimeConfig.cs
- XmlElementAttribute.cs
- IndependentlyAnimatedPropertyMetadata.cs
- TemplateControl.cs
- XPathScanner.cs