Code:
/ DotNET / DotNET / 8.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
- DetailsViewRow.cs
- FormViewUpdateEventArgs.cs
- Stroke.cs
- Point3DValueSerializer.cs
- PassportAuthenticationModule.cs
- BinaryKeyIdentifierClause.cs
- Container.cs
- _ProxyChain.cs
- ReadWriteSpinLock.cs
- BitStack.cs
- LicenseException.cs
- StreamSecurityUpgradeAcceptorBase.cs
- XmlBinaryReader.cs
- FileDialog_Vista.cs
- PackWebRequest.cs
- CachedPathData.cs
- FieldTemplateFactory.cs
- TriggerCollection.cs
- LightweightCodeGenerator.cs
- FillBehavior.cs
- XPathDocumentBuilder.cs
- RpcResponse.cs
- TabControl.cs
- PropertyChangeTracker.cs
- SimpleRecyclingCache.cs
- SingleAnimationUsingKeyFrames.cs
- KeyNotFoundException.cs
- TextCharacters.cs
- XmlSortKey.cs
- IndexedEnumerable.cs
- TrustManagerMoreInformation.cs
- InputScopeManager.cs
- GeometryDrawing.cs
- FamilyMap.cs
- RTTypeWrapper.cs
- WebSysDisplayNameAttribute.cs
- SupportsEventValidationAttribute.cs
- CancellationHandler.cs
- oledbconnectionstring.cs
- CollectionType.cs
- MarkedHighlightComponent.cs
- ReliabilityContractAttribute.cs
- SelectionProviderWrapper.cs
- WebPartEditorCancelVerb.cs
- SessionParameter.cs
- DES.cs
- RegionData.cs
- TemplatedWizardStep.cs
- Update.cs
- PointHitTestResult.cs
- KeyNotFoundException.cs
- StringSource.cs
- CatalogPartCollection.cs
- ImageSource.cs
- NonBatchDirectoryCompiler.cs
- RemoteWebConfigurationHostServer.cs
- StylusTip.cs
- xmlNames.cs
- DeclarativeCatalogPartDesigner.cs
- PresentationTraceSources.cs
- PageHandlerFactory.cs
- ClientScriptManager.cs
- RequiredAttributeAttribute.cs
- DBSqlParserColumnCollection.cs
- WebContentFormatHelper.cs
- ArrayWithOffset.cs
- Visual3DCollection.cs
- BmpBitmapDecoder.cs
- ConfigXmlReader.cs
- DropShadowBitmapEffect.cs
- _RegBlobWebProxyDataBuilder.cs
- Helpers.cs
- StatusBarItem.cs
- Size3D.cs
- WindowsFormsSectionHandler.cs
- _ProxyChain.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- ProcessInputEventArgs.cs
- DispatcherEventArgs.cs
- CapabilitiesUse.cs
- MemberDescriptor.cs
- MethodRental.cs
- SpanIndex.cs
- DefaultEventAttribute.cs
- TextProperties.cs
- RectIndependentAnimationStorage.cs
- DateTimeFormatInfoScanner.cs
- SingleObjectCollection.cs
- Vertex.cs
- FilterableAttribute.cs
- SplitterPanel.cs
- BuildDependencySet.cs
- ScanQueryOperator.cs
- linebase.cs
- BCryptSafeHandles.cs
- LinkClickEvent.cs
- NegatedCellConstant.cs
- DateTimeConstantAttribute.cs
- TitleStyle.cs
- DrawListViewItemEventArgs.cs