ScrollBarRenderer.DrawLeftHorizontalTrack Method
Draws a horizontal scroll bar track with visual styles.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
public static void DrawLeftHorizontalTrack( Graphics g, Rectangle bounds, ScrollBarState state )
Parameters
- g
- Type: System.Drawing.Graphics
The Graphics used to draw the scroll bar track.
- bounds
- Type: System.Drawing.Rectangle
The Rectangle that specifies the bounds of the scroll bar track.
- state
- Type: System.Windows.Forms.VisualStyles.ScrollBarState
One of the ScrollBarState values that specifies the visual state of the scroll bar track.
| 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 DrawLeftHorizontalTrack method in a custom control's OnPaint method to draw the left side of a scroll bar track in the pressed state. 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 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.