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
- TableDetailsCollection.cs
- x509store.cs
- SqlXml.cs
- OleDbRowUpdatingEvent.cs
- Types.cs
- TabControlAutomationPeer.cs
- DesigntimeLicenseContextSerializer.cs
- _AuthenticationState.cs
- AnimationTimeline.cs
- ZipFileInfo.cs
- CharacterShapingProperties.cs
- SecurityImpersonationBehavior.cs
- DataRowCollection.cs
- MethodBuilderInstantiation.cs
- CqlErrorHelper.cs
- XmlCDATASection.cs
- WebPartsPersonalizationAuthorization.cs
- ManipulationPivot.cs
- XmlReflectionMember.cs
- UserPreferenceChangedEventArgs.cs
- ClientScriptManager.cs
- SqlDataSourceFilteringEventArgs.cs
- ToolStripOverflowButton.cs
- RepeatInfo.cs
- IISMapPath.cs
- XPathDocumentIterator.cs
- ZipPackage.cs
- OutOfProcStateClientManager.cs
- DocumentEventArgs.cs
- BidOverLoads.cs
- SoapSchemaImporter.cs
- AutoGeneratedFieldProperties.cs
- ValidationEventArgs.cs
- basevalidator.cs
- ListContractAdapter.cs
- InstancePersistenceContext.cs
- QueryCacheManager.cs
- XPathChildIterator.cs
- OracleInfoMessageEventArgs.cs
- DataViewManager.cs
- StyleCollection.cs
- ValueProviderWrapper.cs
- TextSyndicationContentKindHelper.cs
- SvcFileManager.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- BitmapEffect.cs
- RegexFCD.cs
- ConfigurationSection.cs
- HttpWebRequest.cs
- HttpConfigurationSystem.cs
- XhtmlCssHandler.cs
- ServiceAuthorizationManager.cs
- ArraySet.cs
- GeometryHitTestParameters.cs
- WriteableBitmap.cs
- DataPager.cs
- TextRange.cs
- PagedDataSource.cs
- UnsafeNativeMethods.cs
- EntityTypeEmitter.cs
- AssemblyHash.cs
- ClientApiGenerator.cs
- DataGridColumnEventArgs.cs
- Dictionary.cs
- PasswordBoxAutomationPeer.cs
- ExceptionUtility.cs
- ListViewItemCollectionEditor.cs
- ConnectivityStatus.cs
- TemplatePartAttribute.cs
- Suspend.cs
- ByteStack.cs
- WebBrowserNavigatingEventHandler.cs
- BookmarkResumptionRecord.cs
- Types.cs
- SelectionListDesigner.cs
- HttpSysSettings.cs
- GridViewDeletedEventArgs.cs
- SynchronizingStream.cs
- MruCache.cs
- FormsAuthenticationUserCollection.cs
- PerformanceCounterPermissionAttribute.cs
- KeyInstance.cs
- StateBag.cs
- ResourcePermissionBase.cs
- WebPartConnectVerb.cs
- PreservationFileWriter.cs
- WebServiceFault.cs
- Interlocked.cs
- DbProviderFactories.cs
- iisPickupDirectory.cs
- RegisterInfo.cs
- ScrollEvent.cs
- SqlUtils.cs
- NavigationFailedEventArgs.cs
- HtmlInputCheckBox.cs
- CodeSubDirectoriesCollection.cs
- GridViewCancelEditEventArgs.cs
- WebPartDescriptionCollection.cs
- WindowsTooltip.cs
- CodeDefaultValueExpression.cs