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
- XhtmlTextWriter.cs
- SAPIEngineTypes.cs
- InputMethodStateTypeInfo.cs
- WebControlParameterProxy.cs
- SqlDataSourceView.cs
- CreateUserWizard.cs
- MarginCollapsingState.cs
- BooleanExpr.cs
- BooleanAnimationUsingKeyFrames.cs
- RewritingSimplifier.cs
- LogicalExpr.cs
- COM2PropertyDescriptor.cs
- LogSwitch.cs
- HatchBrush.cs
- ProvidePropertyAttribute.cs
- Paragraph.cs
- EdgeModeValidation.cs
- Assert.cs
- SqlDependencyListener.cs
- DataControlLinkButton.cs
- XmlQueryCardinality.cs
- AdRotator.cs
- QilExpression.cs
- PartialList.cs
- StrokeDescriptor.cs
- PointAnimationUsingKeyFrames.cs
- XmlnsCompatibleWithAttribute.cs
- ObjRef.cs
- Label.cs
- Convert.cs
- EncodingDataItem.cs
- Evaluator.cs
- XpsFilter.cs
- DefaultTextStoreTextComposition.cs
- ZipArchive.cs
- ZipIOExtraField.cs
- BorderSidesEditor.cs
- XamlStream.cs
- X509PeerCertificateAuthentication.cs
- EndOfStreamException.cs
- TypeValidationEventArgs.cs
- LocationUpdates.cs
- TextPattern.cs
- PeerResolverSettings.cs
- ListViewCommandEventArgs.cs
- EntityDataSourceSelectingEventArgs.cs
- CompleteWizardStep.cs
- RemotingAttributes.cs
- SurrogateSelector.cs
- DataGridPagerStyle.cs
- ReflectionHelper.cs
- RepeaterCommandEventArgs.cs
- ConnectionManagementSection.cs
- ConnectionAcceptor.cs
- ValueSerializer.cs
- ObjectHelper.cs
- StateManagedCollection.cs
- Message.cs
- PersistenceTypeAttribute.cs
- XmlCollation.cs
- EqualityComparer.cs
- ReturnValue.cs
- XmlSecureResolver.cs
- DataGridViewColumnEventArgs.cs
- CodeAttributeDeclaration.cs
- ObjectAnimationUsingKeyFrames.cs
- ResourceType.cs
- StringFreezingAttribute.cs
- ViewRendering.cs
- AccessViolationException.cs
- UInt32Storage.cs
- SubpageParagraph.cs
- UnmanagedBitmapWrapper.cs
- SharingService.cs
- PartManifestEntry.cs
- SynchronizedKeyedCollection.cs
- WindowsGraphics.cs
- ProxyElement.cs
- ViewUtilities.cs
- WebSysDescriptionAttribute.cs
- XmlILIndex.cs
- HttpListenerException.cs
- Debug.cs
- NullableIntSumAggregationOperator.cs
- SequenceDesigner.xaml.cs
- SmiXetterAccessMap.cs
- ParallelDesigner.xaml.cs
- Point3DAnimationBase.cs
- EncryptRequest.cs
- SocketCache.cs
- TableLayout.cs
- ApplicationManager.cs
- LinearKeyFrames.cs
- MessageEventSubscriptionService.cs
- GridSplitter.cs
- LazyTextWriterCreator.cs
- PageParser.cs
- UserControl.cs
- ConstraintCollection.cs
- ConfigurationManagerHelper.cs