ScrollBarRenderer.DrawHorizontalThumb Method
Draws a horizontal scroll box (also known as the thumb) with visual styles.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
public static void DrawHorizontalThumb( Graphics g, Rectangle bounds, ScrollBarState state )
Parameters
- g
- Type: System.Drawing.Graphics
The Graphics used to draw the scroll box.
- bounds
- Type: System.Drawing.Rectangle
The Rectangle that specifies the bounds of the scroll box.
- state
- Type: System.Windows.Forms.VisualStyles.ScrollBarState
One of the ScrollBarState values that specifies the visual state of the scroll box.
| 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. |
Before using this method, you should verify that the IsSupported property returns true.
The following code example uses the DrawHorizontalThumb method in a custom control's OnPaint method to draw a scroll box in the state determined by the location of the mouse pointer. This code example is part of a larger example provided for the ScrollBarRenderer class.
// Draw the scroll bar in its normal state. protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); // Visual styles are not enabled. if (!ScrollBarRenderer.IsSupported) { this.Parent.Text = "CustomScrollBar Disabled"; return; } this.Parent.Text = "CustomScrollBar Enabled"; // Draw the scroll bar track. ScrollBarRenderer.DrawRightHorizontalTrack(e.Graphics, ClientRectangle, ScrollBarState.Normal); // Draw the thumb and thumb grip in the current state. ScrollBarRenderer.DrawHorizontalThumb(e.Graphics, thumbRectangle, thumbState); ScrollBarRenderer.DrawHorizontalThumbGrip(e.Graphics, thumbRectangle, thumbState); // Draw the scroll arrows in the current state. ScrollBarRenderer.DrawArrowButton(e.Graphics, leftArrowRectangle, leftButtonState); ScrollBarRenderer.DrawArrowButton(e.Graphics, rightArrowRectangle, rightButtonState); // Draw a highlighted rectangle in the left side of the scroll // bar track if the user has clicked between the left arrow // and thumb. if (leftBarClicked) { clickedBarRectangle.X = thumbLeftLimit; clickedBarRectangle.Width = thumbRectangle.X - thumbLeftLimit; ScrollBarRenderer.DrawLeftHorizontalTrack(e.Graphics, clickedBarRectangle, ScrollBarState.Pressed); } // Draw a highlighted rectangle in the right side of the scroll // bar track if the user has clicked between the right arrow // and thumb. else if (rightBarClicked) { clickedBarRectangle.X = thumbRectangle.X + thumbRectangle.Width; clickedBarRectangle.Width = thumbRightLimitRight - clickedBarRectangle.X; ScrollBarRenderer.DrawRightHorizontalTrack(e.Graphics, clickedBarRectangle, ScrollBarState.Pressed); } }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.