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
- GAC.cs
- DiscoveryMessageSequence11.cs
- DataSourceHelper.cs
- FormsAuthenticationTicket.cs
- ToolStripSeparatorRenderEventArgs.cs
- NumberAction.cs
- RegisteredScript.cs
- RedBlackList.cs
- DataPagerFieldCommandEventArgs.cs
- Adorner.cs
- SQLResource.cs
- designeractionlistschangedeventargs.cs
- ToggleButtonAutomationPeer.cs
- XmlUtf8RawTextWriter.cs
- DiscoveryExceptionDictionary.cs
- SpinWait.cs
- rsa.cs
- ToolStripMenuItem.cs
- ToolStripButton.cs
- ListItemCollection.cs
- coordinatorscratchpad.cs
- DesignerCategoryAttribute.cs
- OperationAbortedException.cs
- ReaderWriterLockWrapper.cs
- ResizeGrip.cs
- ClientSettingsStore.cs
- DateTimeParse.cs
- NativeMethods.cs
- ProjectionPathBuilder.cs
- StorageAssociationTypeMapping.cs
- ApplicationSecurityManager.cs
- OdbcConnection.cs
- TextBoxAutomationPeer.cs
- unsafenativemethodstextservices.cs
- HideDisabledControlAdapter.cs
- DynamicPropertyReader.cs
- DragCompletedEventArgs.cs
- DoubleLinkList.cs
- WebPartConnectionsCloseVerb.cs
- IconHelper.cs
- DynamicUpdateCommand.cs
- IgnoreFileBuildProvider.cs
- FontCacheLogic.cs
- GridToolTip.cs
- FormsAuthentication.cs
- DataColumnPropertyDescriptor.cs
- TextTreeTextElementNode.cs
- DatePickerAutomationPeer.cs
- TypeSystem.cs
- CompiledAction.cs
- ScriptReferenceBase.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- BuilderPropertyEntry.cs
- OrthographicCamera.cs
- TreeNodeCollection.cs
- WebContext.cs
- TextEncodedRawTextWriter.cs
- ChineseLunisolarCalendar.cs
- LinearGradientBrush.cs
- PagedDataSource.cs
- ValuePatternIdentifiers.cs
- FragmentNavigationEventArgs.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ObjectTokenCategory.cs
- XsltException.cs
- autovalidator.cs
- DesignerDataParameter.cs
- WebEventTraceProvider.cs
- xml.cs
- ViewCellRelation.cs
- EntityUtil.cs
- XamlStream.cs
- Point4D.cs
- PriorityQueue.cs
- XmlEntityReference.cs
- Bind.cs
- HtmlFormParameterReader.cs
- IncrementalCompileAnalyzer.cs
- EventInfo.cs
- PackageDigitalSignature.cs
- SequenceFullException.cs
- MessageDescriptionCollection.cs
- JsonSerializer.cs
- ServiceDescriptionReflector.cs
- _IPv6Address.cs
- MutexSecurity.cs
- RandomDelayQueuedSendsAsyncResult.cs
- RequestSecurityToken.cs
- Transform3DGroup.cs
- DbException.cs
- RuleSetCollection.cs
- XmlSerializationGeneratedCode.cs
- DiagnosticsConfiguration.cs
- DropSourceBehavior.cs
- SerializerDescriptor.cs
- TextRenderer.cs
- ValueTable.cs
- SerializationHelper.cs
- SqlMetaData.cs
- IssuedTokenClientBehaviorsElement.cs