TrackBarRenderer.GetTopPointingThumbSize Method (Graphics, TrackBarThumbState)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Returns the size, in pixels, of the track bar slider (also known as the thumb) that points up.

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

public static Size GetTopPointingThumbSize(
	Graphics g,
	TrackBarThumbState state


Type: System.Drawing.Graphics

The Graphics this operation will use.

Type: System.Windows.Forms.VisualStyles.TrackBarThumbState

One of the TrackBarThumbState values that specifies the visual state of the slider.

Return Value

Type: System.Drawing.Size

A Size that specifies the size, in pixels, of the slider.

Exception Condition

The operating system does not support visual styles.


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


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

The size of the slider is determined by the current visual style of the operating system.

Before calling this method, you should verify that the value of the IsSupported property is true.

The following code example uses the GetTopPointingThumbSize method to determine the size of the rectangle used by the DrawTopPointingThumb method to draw the slider. This code example is part of a larger example provided for the TrackBarRenderer class.

// Calculate the sizes of the bar, thumb, and ticks rectangle.
private void SetupTrackBar()
    if (!TrackBarRenderer.IsSupported)

    using (Graphics g = this.CreateGraphics())
        // Calculate the size of the track bar.
        trackRectangle.X = ClientRectangle.X + 2;
        trackRectangle.Y = ClientRectangle.Y + 28;
        trackRectangle.Width = ClientRectangle.Width - 4;
        trackRectangle.Height = 4;

        // Calculate the size of the rectangle in which to 
        // draw the ticks.
        ticksRectangle.X = trackRectangle.X + 4;
        ticksRectangle.Y = trackRectangle.Y - 8;
        ticksRectangle.Width = trackRectangle.Width - 8;
        ticksRectangle.Height = 4;

        tickSpace = ((float)ticksRectangle.Width - 1) /
            ((float)numberTicks - 1);

        // Calculate the size of the thumb.
        thumbRectangle.Size =

        thumbRectangle.X = CurrentTickXCoordinate();
        thumbRectangle.Y = trackRectangle.Y - 8;

.NET Framework
Available since 2.0
Return to top