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
- SqlLiftWhereClauses.cs
- AsyncOperation.cs
- Int16.cs
- StringSorter.cs
- securestring.cs
- RefreshPropertiesAttribute.cs
- XmlDataCollection.cs
- Cursors.cs
- PageTheme.cs
- BrowserCapabilitiesCompiler.cs
- AssemblyAttributes.cs
- BlockCollection.cs
- ApplicationSecurityManager.cs
- ParseHttpDate.cs
- GlobalAllocSafeHandle.cs
- TrustLevel.cs
- SymbolType.cs
- NegotiateStream.cs
- ListDataBindEventArgs.cs
- XmlSchemaSimpleContentExtension.cs
- Win32SafeHandles.cs
- XPathNavigatorReader.cs
- HtmlElement.cs
- TaskCanceledException.cs
- StylusCaptureWithinProperty.cs
- MappingItemCollection.cs
- StrokeCollectionConverter.cs
- DynamicFilterExpression.cs
- QueryPageSettingsEventArgs.cs
- HttpCacheVary.cs
- StatusBarDrawItemEvent.cs
- SettingsPropertyNotFoundException.cs
- RegexReplacement.cs
- DateTime.cs
- ColorTranslator.cs
- OleAutBinder.cs
- PerformanceCounterManager.cs
- CursorInteropHelper.cs
- WorkflowViewStateService.cs
- SaveFileDialog.cs
- ClrPerspective.cs
- ListViewDataItem.cs
- NamedObjectList.cs
- PrintingPermission.cs
- FormClosedEvent.cs
- ZoomingMessageFilter.cs
- UrlMappingsSection.cs
- Command.cs
- HtmlInputFile.cs
- StateWorkerRequest.cs
- ToolStripContentPanel.cs
- latinshape.cs
- Int32CollectionConverter.cs
- OdbcCommand.cs
- UpDownBase.cs
- TemplatedEditableDesignerRegion.cs
- CodeAttributeArgument.cs
- KeyEvent.cs
- XmlEncoding.cs
- DataGridViewDataConnection.cs
- DecimalAnimationBase.cs
- Base64Encoding.cs
- TrackBarRenderer.cs
- PeerApplication.cs
- RSAProtectedConfigurationProvider.cs
- SerialPinChanges.cs
- XMLUtil.cs
- UIAgentCrashedException.cs
- Thread.cs
- XamlInt32CollectionSerializer.cs
- Dispatcher.cs
- OracleSqlParser.cs
- CodeIterationStatement.cs
- precedingquery.cs
- ResourceSetExpression.cs
- ColorTransformHelper.cs
- SecureUICommand.cs
- AxisAngleRotation3D.cs
- BindingCompleteEventArgs.cs
- XmlAutoDetectWriter.cs
- ListViewPagedDataSource.cs
- SpeechSynthesizer.cs
- StringArrayConverter.cs
- Int64AnimationUsingKeyFrames.cs
- WSFederationHttpBindingCollectionElement.cs
- ClickablePoint.cs
- isolationinterop.cs
- NetNamedPipeBindingElement.cs
- Composition.cs
- SqlServices.cs
- Item.cs
- SeparatorAutomationPeer.cs
- TcpClientCredentialType.cs
- DesignBindingPropertyDescriptor.cs
- GridViewSelectEventArgs.cs
- CompensationHandlingFilter.cs
- ConfigurationSectionGroup.cs
- ColorAnimationUsingKeyFrames.cs
- UmAlQuraCalendar.cs
- RootProfilePropertySettingsCollection.cs