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
- ContentFilePart.cs
- WebServiceParameterData.cs
- PageSetupDialog.cs
- DataServiceRequestException.cs
- PropertyToken.cs
- SerializerProvider.cs
- ProviderConnectionPoint.cs
- MSHTMLHostUtil.cs
- OdbcTransaction.cs
- Timer.cs
- ImageIndexEditor.cs
- SqlTransaction.cs
- SafeWaitHandle.cs
- DecoderBestFitFallback.cs
- DbModificationClause.cs
- EndCreateSecurityTokenRequest.cs
- XmlSignatureManifest.cs
- FileLogRecordHeader.cs
- TemplatedWizardStep.cs
- ElementProxy.cs
- DependencyPropertyChangedEventArgs.cs
- LoadRetryConstantStrategy.cs
- SplitterPanel.cs
- LoadedEvent.cs
- Tile.cs
- DateTimeConverter.cs
- ConfigXmlWhitespace.cs
- DbProviderConfigurationHandler.cs
- DataSourceSelectArguments.cs
- SiteMembershipCondition.cs
- HtmlTableRowCollection.cs
- AnnotationComponentChooser.cs
- SecurityHelper.cs
- updatecommandorderer.cs
- HwndStylusInputProvider.cs
- RegexCapture.cs
- OleDbCommand.cs
- SerializationInfo.cs
- StandardOleMarshalObject.cs
- FormsIdentity.cs
- DataGridViewCellStateChangedEventArgs.cs
- AccessKeyManager.cs
- GlobalizationAssembly.cs
- WindowsTitleBar.cs
- DocumentPageTextView.cs
- SchemaCollectionCompiler.cs
- HMACSHA256.cs
- UniqueConstraint.cs
- FixedPageAutomationPeer.cs
- GridItemPattern.cs
- ViewLoader.cs
- PackagePartCollection.cs
- Enlistment.cs
- NonSerializedAttribute.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- HelpProvider.cs
- GridLength.cs
- DispatcherFrame.cs
- TypeForwardedToAttribute.cs
- Attribute.cs
- DataGridViewSortCompareEventArgs.cs
- VisualTreeUtils.cs
- PersonalizationStateQuery.cs
- LongAverageAggregationOperator.cs
- ExpandSegmentCollection.cs
- WorkflowInstance.cs
- ScopeElementCollection.cs
- XmlDataSourceView.cs
- ListSortDescription.cs
- ToolStripDropDownButton.cs
- DeviceContexts.cs
- ImmutableObjectAttribute.cs
- translator.cs
- SocketAddress.cs
- ServiceNotStartedException.cs
- QueryCacheKey.cs
- MarkupObject.cs
- ContentHostHelper.cs
- ReachFixedDocumentSerializer.cs
- ScopelessEnumAttribute.cs
- AutomationIdentifierGuids.cs
- DictionaryTraceRecord.cs
- HttpCapabilitiesSectionHandler.cs
- Animatable.cs
- ControlCollection.cs
- InternalConfigSettingsFactory.cs
- EntityClassGenerator.cs
- XPathDescendantIterator.cs
- ExpressionBindingCollection.cs
- PerfService.cs
- EDesignUtil.cs
- SortKey.cs
- Light.cs
- _TransmitFileOverlappedAsyncResult.cs
- ListItemConverter.cs
- SelectedDatesCollection.cs
- LifetimeManager.cs
- HttpServerProtocol.cs
- RenderTargetBitmap.cs
- Style.cs