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
- FormViewUpdateEventArgs.cs
- CodeConditionStatement.cs
- DependencyPropertyKind.cs
- SqlClientMetaDataCollectionNames.cs
- Table.cs
- SortExpressionBuilder.cs
- QueryCacheKey.cs
- DependencyPropertyAttribute.cs
- Geometry3D.cs
- DataBindingCollection.cs
- PersonalizableAttribute.cs
- XmlWrappingReader.cs
- Point3DValueSerializer.cs
- DuplicateWaitObjectException.cs
- SqlTopReducer.cs
- TypeTypeConverter.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- NamespaceDecl.cs
- RepeaterCommandEventArgs.cs
- DoWorkEventArgs.cs
- ImageSource.cs
- TextRangeAdaptor.cs
- EntityConnectionStringBuilderItem.cs
- StructuredTypeEmitter.cs
- XPathBinder.cs
- NameTable.cs
- Latin1Encoding.cs
- SeverityFilter.cs
- MultiView.cs
- DocumentOrderQuery.cs
- AuthenticatedStream.cs
- AccessibleObject.cs
- PropertyRecord.cs
- Popup.cs
- ActiveDesignSurfaceEvent.cs
- XmlObjectSerializerContext.cs
- ListControlConvertEventArgs.cs
- ProcessHostServerConfig.cs
- FlowDocumentView.cs
- XmlAnyElementAttribute.cs
- PolicyChain.cs
- StylusCollection.cs
- SafeFileMappingHandle.cs
- OutputWindow.cs
- CompoundFileStreamReference.cs
- CodeTypeReferenceExpression.cs
- BooleanFacetDescriptionElement.cs
- MediaScriptCommandRoutedEventArgs.cs
- ImageAttributes.cs
- EntityProviderFactory.cs
- PolicyException.cs
- TreeViewEvent.cs
- XmlILAnnotation.cs
- Mappings.cs
- ViewKeyConstraint.cs
- RoutedEventValueSerializer.cs
- DataGridViewSelectedCellCollection.cs
- Types.cs
- MobileListItem.cs
- NonSerializedAttribute.cs
- RouteParameter.cs
- DynamicResourceExtensionConverter.cs
- MeshGeometry3D.cs
- WebPartChrome.cs
- PropertyIDSet.cs
- EntityProxyTypeInfo.cs
- formatstringdialog.cs
- ShellProvider.cs
- ViewKeyConstraint.cs
- BuiltInPermissionSets.cs
- ObjectCacheSettings.cs
- TypographyProperties.cs
- GraphicsContext.cs
- MultipartIdentifier.cs
- ToolStripItemEventArgs.cs
- XamlClipboardData.cs
- SmtpNetworkElement.cs
- WindowsTitleBar.cs
- HtmlInputHidden.cs
- OutOfMemoryException.cs
- XsdBuilder.cs
- XmlHierarchyData.cs
- VarRefManager.cs
- FontStyles.cs
- XamlStackWriter.cs
- DataGridPageChangedEventArgs.cs
- UiaCoreApi.cs
- LogSwitch.cs
- DocumentApplication.cs
- DataServiceHostWrapper.cs
- DbFunctionCommandTree.cs
- CharacterMetricsDictionary.cs
- EntityUtil.cs
- SpellerStatusTable.cs
- OleDbErrorCollection.cs
- XmlFormatExtensionAttribute.cs
- StructuredProperty.cs
- DateTimeConverter2.cs
- Base64Encoder.cs
- ListBoxItemAutomationPeer.cs