ProgressBarRenderer.ChunkSpaceThickness Property

 

Gets the width, in pixels, of the space between each inner piece of the progress bar.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public static int ChunkSpaceThickness { get; }

Property Value

Type: System.Int32

The width, in pixels, of the space between each inner piece of the progress bar.

Exception Condition
InvalidOperationException

The operating system does not support visual styles.

-or-

Visual styles are disabled by the user in the operating system.

-or-

Visual styles are not applied to the client area of application windows.

This value is determined by the current visual style of the operating system.

Before accessing this property, you should verify that the IsSupported property returns true.

The following code example uses the ChunkSpaceThickness property to determine the size of each rectangle that represents an increment of the progress bar drawn by the DrawVerticalChunks method. This code example is part of a larger example provided for the ProgressBarRenderer class.

// Initialize the rectangles used to paint the states of the 
// progress bar.
private void SetupProgressBar()
{
    if (!ProgressBarRenderer.IsSupported)
    {
        return;
    }

    // Determine the size of the progress bar frame.
    this.Size = new Size(ClientRectangle.Width,
        (NumberChunks) * (ProgressBarRenderer.ChunkThickness +
        (2 * ProgressBarRenderer.ChunkSpaceThickness)) + 6);

    // Initialize the rectangles to draw each step of the 
    // progress bar.
    progressBarRectangles = new Rectangle[NumberChunks];

    for (int i = 0; i < NumberChunks; i++)
    {
        // Use the thickness defined by the current visual style 
        // to calculate the height of each rectangle. The size 
        // adjustments ensure that the chunks do not paint over 
        // the frame.

        int filledRectangleHeight =
            ((i + 1) * (ProgressBarRenderer.ChunkThickness +
            (2 * ProgressBarRenderer.ChunkSpaceThickness)));

        progressBarRectangles[i] = new Rectangle(
            ClientRectangle.X + 3,
            ClientRectangle.Y + ClientRectangle.Height - 3
            - filledRectangleHeight,
            ClientRectangle.Width - 6,
            filledRectangleHeight);
    }
}

.NET Framework
Available since 2.0
Return to top
Show: