Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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;
///
///
///
/// This is a rendering class for the ProgressBar control.
///
///
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() {
}
///
///
///
/// Returns true if this class is supported for the current OS and user/application settings,
/// otherwise returns false.
///
///
public static bool IsSupported {
get {
return VisualStyleRenderer.IsSupported; // no downlevel support
}
}
///
///
///
/// Renders a horizontal bar.
///
///
[
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 vertical 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 number of constant size horizontal chunks in the given bounds.
///
///
[
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 vertical 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);
}
///
///
///
/// Returns the width/height of a single horizontal/vertical progress bar chunk.
///
///
public static int ChunkThickness {
get {
InitializeRenderer(VisualStyleElement.ProgressBar.Chunk.Normal);
return (visualStyleRenderer.GetInteger(IntegerProperty.ProgressChunkSize));
}
}
///
///
///
/// Returns the width/height of the space between horizontal/vertical progress bar chunks.
///
///
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.
//
//-----------------------------------------------------------------------------
namespace System.Windows.Forms {
using System;
using System.Drawing;
using System.Diagnostics.CodeAnalysis;
using System.Windows.Forms.VisualStyles;
using Microsoft.Win32;
///
///
///
/// This is a rendering class for the ProgressBar control.
///
///
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() {
}
///
///
///
/// Returns true if this class is supported for the current OS and user/application settings,
/// otherwise returns false.
///
///
public static bool IsSupported {
get {
return VisualStyleRenderer.IsSupported; // no downlevel support
}
}
///
///
///
/// Renders a horizontal bar.
///
///
[
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 vertical 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 number of constant size horizontal chunks in the given bounds.
///
///
[
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 vertical 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);
}
///
///
///
/// Returns the width/height of a single horizontal/vertical progress bar chunk.
///
///
public static int ChunkThickness {
get {
InitializeRenderer(VisualStyleElement.ProgressBar.Chunk.Normal);
return (visualStyleRenderer.GetInteger(IntegerProperty.ProgressChunkSize));
}
}
///
///
///
/// Returns the width/height of the space between horizontal/vertical progress bar chunks.
///
///
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XPathParser.cs
- InheritanceContextHelper.cs
- X509Extension.cs
- ToolStripProgressBar.cs
- ScrollProperties.cs
- PointAnimationBase.cs
- TrackingStringDictionary.cs
- cryptoapiTransform.cs
- SpellerError.cs
- PageCodeDomTreeGenerator.cs
- SqlClientFactory.cs
- FixedStringLookup.cs
- LinkedResource.cs
- XmlDataCollection.cs
- MapPathBasedVirtualPathProvider.cs
- TrustLevel.cs
- input.cs
- Margins.cs
- SelectionListComponentEditor.cs
- LocatorManager.cs
- UnsafeNativeMethods.cs
- SqlDataSourceCommandEventArgs.cs
- WebPartEditorApplyVerb.cs
- GeneratedContractType.cs
- StorageMappingItemLoader.cs
- FontFamilyValueSerializer.cs
- Module.cs
- arclist.cs
- DesignOnlyAttribute.cs
- HtmlControlPersistable.cs
- LockCookie.cs
- DBSchemaTable.cs
- CodeGotoStatement.cs
- ObjectConverter.cs
- Content.cs
- HttpCookieCollection.cs
- PtsCache.cs
- baseaxisquery.cs
- XMLDiffLoader.cs
- BadImageFormatException.cs
- ResourceContainer.cs
- RecordBuilder.cs
- BlurBitmapEffect.cs
- ColorAnimationBase.cs
- IgnoreSection.cs
- WindowsSlider.cs
- HwndProxyElementProvider.cs
- XmlSchemaInfo.cs
- FixedFlowMap.cs
- PropertyDescriptor.cs
- Brush.cs
- ObjectQuery.cs
- LinqDataSourceEditData.cs
- TableStyle.cs
- SmtpReplyReaderFactory.cs
- Parsers.cs
- ExceptionWrapper.cs
- GB18030Encoding.cs
- DynamicPropertyHolder.cs
- Int32Converter.cs
- RewritingValidator.cs
- ExpressionCopier.cs
- PassportAuthenticationModule.cs
- MetadataArtifactLoader.cs
- CreateUserWizard.cs
- safex509handles.cs
- SpeechRecognitionEngine.cs
- XmlAutoDetectWriter.cs
- CommandBinding.cs
- TransportationConfigurationTypeInstallComponent.cs
- ConsumerConnectionPoint.cs
- XmlStringTable.cs
- TextDecorations.cs
- XmlNodeReader.cs
- rsa.cs
- ZoneMembershipCondition.cs
- SystemNetworkInterface.cs
- MetadataAssemblyHelper.cs
- ISessionStateStore.cs
- MetaTable.cs
- DataGridViewHeaderCell.cs
- UInt16Storage.cs
- TypeNameConverter.cs
- UrlPath.cs
- ShaperBuffers.cs
- MessageDecoder.cs
- RuntimeHelpers.cs
- XpsS0ValidatingLoader.cs
- TextServicesContext.cs
- CollectionBase.cs
- InkCollectionBehavior.cs
- PageEventArgs.cs
- XmlObjectSerializerWriteContext.cs
- VirtualPathProvider.cs
- ShaperBuffers.cs
- WebDescriptionAttribute.cs
- EditorPartChrome.cs
- PassportPrincipal.cs
- ModelItemCollection.cs
- BufferedMessageData.cs