Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- RoleManagerModule.cs
- ImpersonateTokenRef.cs
- Int16.cs
- BooleanProjectedSlot.cs
- _IPv6Address.cs
- NamedPipeTransportSecurity.cs
- ColorBlend.cs
- StorageAssociationSetMapping.cs
- ResourceReader.cs
- DataGridViewCellStateChangedEventArgs.cs
- EncoderNLS.cs
- ConfigurationLocation.cs
- RenderCapability.cs
- MouseGestureValueSerializer.cs
- DBAsyncResult.cs
- NullRuntimeConfig.cs
- RawStylusInputReport.cs
- ItemsControlAutomationPeer.cs
- ByteKeyFrameCollection.cs
- PrinterResolution.cs
- CodeSubDirectory.cs
- LogicalExpressionTypeConverter.cs
- EntityObject.cs
- Validator.cs
- UnsafeNativeMethodsTablet.cs
- streamingZipPartStream.cs
- MobileTextWriter.cs
- ListCommandEventArgs.cs
- DesignerAdapterUtil.cs
- Journaling.cs
- PageParserFilter.cs
- ReflectionTypeLoadException.cs
- AutomationAttributeInfo.cs
- XmlSerializationWriter.cs
- MobileCapabilities.cs
- DataSourceView.cs
- ElementHostAutomationPeer.cs
- RegexRunnerFactory.cs
- CodeDomLoader.cs
- ResourcePool.cs
- MembershipSection.cs
- QueryExtender.cs
- IDispatchConstantAttribute.cs
- StrokeCollection2.cs
- EntityException.cs
- SymmetricSecurityProtocol.cs
- ControlOperationBehavior.cs
- ToolStripProgressBar.cs
- StoreContentChangedEventArgs.cs
- KeyMatchBuilder.cs
- CqlLexerHelpers.cs
- RoleService.cs
- GPPOINTF.cs
- PermissionSetEnumerator.cs
- SystemSounds.cs
- remotingproxy.cs
- EntityConnectionStringBuilderItem.cs
- Bitmap.cs
- SQLBoolean.cs
- BigIntegerStorage.cs
- BrowserCapabilitiesCodeGenerator.cs
- BindingUtils.cs
- DependencySource.cs
- TypeBuilderInstantiation.cs
- UniformGrid.cs
- ControlIdConverter.cs
- ScriptResourceInfo.cs
- FocusTracker.cs
- WebBaseEventKeyComparer.cs
- _ChunkParse.cs
- InputScopeAttribute.cs
- FixedTextBuilder.cs
- PrimitiveList.cs
- StringResourceManager.cs
- IssuedSecurityTokenProvider.cs
- Comparer.cs
- MailMessageEventArgs.cs
- SamlSubject.cs
- ListControlDataBindingHandler.cs
- XmlSchemaValidator.cs
- MergablePropertyAttribute.cs
- XMLSyntaxException.cs
- DataControlFieldHeaderCell.cs
- ThicknessKeyFrameCollection.cs
- SqlReferenceCollection.cs
- ThreadLocal.cs
- TriggerActionCollection.cs
- XhtmlConformanceSection.cs
- DoneReceivingAsyncResult.cs
- GeneralTransform3DTo2DTo3D.cs
- Walker.cs
- UTF32Encoding.cs
- ObjectConverter.cs
- ListControlDataBindingHandler.cs
- AuthenticationModulesSection.cs
- WebSysDefaultValueAttribute.cs
- DataGridViewCellLinkedList.cs
- RepeatButtonAutomationPeer.cs
- InstanceData.cs
- TimeSpanMinutesConverter.cs