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
- PropertyTabAttribute.cs
- PathFigureCollectionConverter.cs
- ImageDrawing.cs
- WebScriptServiceHost.cs
- RemoteWebConfigurationHostStream.cs
- DataGridViewComboBoxColumn.cs
- MdiWindowListStrip.cs
- ContainerAction.cs
- WindowsPrincipal.cs
- QueryLifecycle.cs
- BamlMapTable.cs
- Update.cs
- OrthographicCamera.cs
- TableLayoutSettings.cs
- isolationinterop.cs
- RegistryKey.cs
- UIntPtr.cs
- DataSourceCacheDurationConverter.cs
- DataTemplateSelector.cs
- TrackingMemoryStreamFactory.cs
- DesignerVerbCollection.cs
- ParenthesizePropertyNameAttribute.cs
- X509Utils.cs
- UrlPath.cs
- ContentValidator.cs
- FrameworkTextComposition.cs
- HttpListenerElement.cs
- DocumentSequenceHighlightLayer.cs
- StackBuilderSink.cs
- EventLogInternal.cs
- Timer.cs
- JsonFormatWriterGenerator.cs
- ToolStripSplitButton.cs
- _Rfc2616CacheValidators.cs
- ConditionalAttribute.cs
- InputManager.cs
- FormsAuthenticationUserCollection.cs
- ProtectedProviderSettings.cs
- _CacheStreams.cs
- SafeEventHandle.cs
- PerformanceCounterLib.cs
- SmtpCommands.cs
- DetailsViewCommandEventArgs.cs
- ThreadAttributes.cs
- Sentence.cs
- TaskbarItemInfo.cs
- TaskbarItemInfo.cs
- SafeNativeMemoryHandle.cs
- securitycriticaldataformultiplegetandset.cs
- HiddenFieldPageStatePersister.cs
- DbCommandDefinition.cs
- SmiMetaData.cs
- DefaultValueAttribute.cs
- IntegrationExceptionEventArgs.cs
- ActivityDesignerAccessibleObject.cs
- ExitEventArgs.cs
- SqlRowUpdatingEvent.cs
- BaseDataList.cs
- HostedBindingBehavior.cs
- CodeVariableDeclarationStatement.cs
- StateWorkerRequest.cs
- ServiceControllerDesigner.cs
- InstalledFontCollection.cs
- EntityFrameworkVersions.cs
- OutKeywords.cs
- FontDialog.cs
- ScriptIgnoreAttribute.cs
- MultilineStringConverter.cs
- InkPresenter.cs
- ButtonFieldBase.cs
- DependencyObjectCodeDomSerializer.cs
- DefaultAssemblyResolver.cs
- ProgressBar.cs
- MenuStrip.cs
- TypeConstant.cs
- HttpModuleAction.cs
- WebPartsPersonalizationAuthorization.cs
- JsonQueryStringConverter.cs
- TemplateKeyConverter.cs
- ColorEditor.cs
- GridViewSortEventArgs.cs
- BookmarkUndoUnit.cs
- ResXBuildProvider.cs
- CodeTypeDeclaration.cs
- IdentityVerifier.cs
- ConfigUtil.cs
- StorageEntityContainerMapping.cs
- EntityContainerAssociationSetEnd.cs
- Quaternion.cs
- CapabilitiesSection.cs
- DataGridParentRows.cs
- TextStore.cs
- ConfigurationLoader.cs
- ScriptingWebServicesSectionGroup.cs
- _Win32.cs
- ZipIOExtraFieldPaddingElement.cs
- ParameterToken.cs
- User.cs
- UiaCoreProviderApi.cs
- BitmapEffectrendercontext.cs