In This Article

ScrollBar Class

Represents a scrollbar control.

[ToolboxBitmap(typeof(ScrollBar))]
public class ScrollBar : UIControl, IUIControl, IUIElement, ILogicalTreeNode, IDpiAwareElement, IDisposable, ICommandTarget, IOrientedElement
Inheritance:
object MarshalByRefObject Component Control ScrollableControl UIControl object
Implements:
IUIControl IUIElement ILogicalTreeNode IDpiAwareElement IDisposable ICommandTarget IOrientedElement

Constructors

ScrollBar()

Initializes a new instance of the ScrollBar class.

public ScrollBar()

Remarks

The default constructor initializes all fields to their default values.

Properties

BarrelAfterThumbBounds

Gets the bounds of the barrel after the thumb.

[Browsable(false)]
public Rectangle BarrelAfterThumbBounds { get; }

Property Value

Rectangle:

A Rectangle specifying the bounds of the barrel after the thumb.

BarrelBeforeThumbBounds

Gets the bounds of the barrel before the thumb.

[Browsable(false)]
public Rectangle BarrelBeforeThumbBounds { get; }

Property Value

Rectangle:

A Rectangle specifying the bounds of the barrel before the thumb.

Gets a CommandLinkCollection containing the command links associated with the object.

[Browsable(false)]
public CommandLinkCollection CommandLinks { get; }

Property Value

CommandLinkCollection:

A CommandLinkCollection containing the command links associated with the object.

CurrentScrollCommand

Gets the current scroll Command that is executing.

[Browsable(false)]
public Command CurrentScrollCommand { get; }

Property Value

Command:

The current scroll Command that is executing.

DecreaseLargeCommand

Gets the Command that is used for a large decrease button click.

[Browsable(false)]
public Command DecreaseLargeCommand { get; }

Property Value

Command:

The Command that is used for a large decrease button click.

DecreaseSmallCommand

Gets the Command that is used for a small decrease button click.

[Browsable(false)]
public Command DecreaseSmallCommand { get; }

Property Value

Command:

The Command that is used for a small decrease button click.

DefaultSize

Gets the default size of the control.

protected override Size DefaultSize { get; }

Property Value

Size:

The default Size of the control.

ForwardCommandsTo

Gets or sets the ICommandTarget to forward commands to.

[Browsable(false)]
public ICommandTarget ForwardCommandsTo { get; set; }

Property Value

ICommandTarget:

The ICommandTarget to forward commands to.

IncreaseLargeCommand

Gets the Command that is used for a large increase button click.

[Browsable(false)]
public Command IncreaseLargeCommand { get; }

Property Value

Command:

The Command that is used for a large increase button click.

IncreaseSmallCommand

Gets the Command that is used for a small increase button click.

[Browsable(false)]
public Command IncreaseSmallCommand { get; }

Property Value

Command:

The Command that is used for a small increase button click.

LargeChange

Gets or sets the value to be added to or subtracted from to the Value property when the scroll box is moved a large distance.

public int LargeChange { get; set; }

Property Value

int:

A numeric value. The default value is 10.

Maximum

Gets or sets the upper limit of values of the scrollable range.

public int Maximum { get; set; }

Property Value

int:

A numeric value. The default value is 100.

Minimum

Gets or sets the lower limit of values of the scrollable range.

public int Minimum { get; set; }

Property Value

int:

A numeric value. The default value is 0.

Orientation

Gets or sets the orientation of the scrollbar.

public Orientation Orientation { get; set; }

Property Value

Orientation:

A Orientation that specifies the orientation.

Renderer

Gets or sets the control-specific IScrollBarRenderer used to render the control.

public IScrollBarRenderer Renderer { get; set; }

Property Value

IScrollBarRenderer:

The control-specific IScrollBarRenderer used to render the control.

Remarks

If this value is null, then the global renderer will be used instead.

RendererResolved

Gets the IScrollBarRenderer used to render the control.

[Browsable(false)]
public IScrollBarRenderer RendererResolved { get; }

Property Value

IScrollBarRenderer:

The IScrollBarRenderer used to render the control.

Remarks

This property will return a global renderer if there is no control instance renderer override. The registered renderer type with the UIRendererManager for this property is IScrollBarRenderer.

SmallChange

Gets or sets the value to be added to or subtracted from to the Value property when the scroll box is moved a small distance.

public int SmallChange { get; set; }

Property Value

int:

A numeric value. The default value is 1.

Value

Gets or sets a numeric value that represents the current position of the scroll box on the scroll bar control.

public int Value { get; set; }

Property Value

int:

A numeric value that is within the Minimum and Maximum range. The default value is 0.

Methods

ArrangeOverride(Size)

Positions child elements and determines an arrange size.

protected override Size ArrangeOverride(Size finalSize)
Parameter Type Description
finalSize Size

The final area within the parent that this element should use to arrange itself and its children.

Returns

Size:

The actual size used.

Remarks

Element authors should override this method, call Arrange(Rectangle) on each visible child element and position each child element. It is required that a parent element calls Arrange(Rectangle) on each child or they won't be rendered.

CreateChildren()

Invoked when the collection of child elements is to be created.

protected override IList CreateChildren()

Returns

IList:

The IList that should be assigned to the Children property.

Remarks

By default no child collection is created.

Dispose(bool)

Releases the unmanaged resources used by the object and optionally releases the managed resources.

protected override void Dispose(bool disposing)
Parameter Type Description
disposing bool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

Remarks

This method is called by the public Dispose method and the Finalize method. Dispose invokes this method with the disposing parameter set to true. Finalize invokes this method with disposing set to false.

GetSidesFromOrientation(Orientation)

Gets the Sides value that corresponds to the specified Orientation.

public static Sides GetSidesFromOrientation(Orientation orientation)
Parameter Type Description
orientation Orientation

The Orientation to examine.

Returns

Sides:

The Sides value that corresponds to the specified Orientation.

MeasureOverride(Graphics, Size)

Measures the size in layout required for child elements and determines a size for the element itself.

protected override Size MeasureOverride(Graphics g, Size availableSize)
Parameter Type Description
g Graphics

The Graphics object to use for measurement.

availableSize Size

The available size that this element can give to child elements. Infinity can be specified as a value to indicate that the element will size to whatever content is available.

Returns

Size:

The size that this element determines it needs during layout, based on its calculations of child element sizes.

OnCommand(CommandEventArgs)

Raises the Command event.

protected virtual void OnCommand(CommandEventArgs e)
Parameter Type Description
e CommandEventArgs

A CommandEventArgs that contains the event data.

OnEnabledChanged(EventArgs)

Raises the EnabledChanged event.

protected override void OnEnabledChanged(EventArgs e)
Parameter Type Description
e EventArgs

An EventArgs that contains the event data.

OnMouseDown(MouseEventArgs)

Raises the MouseDown event.

protected override void OnMouseDown(MouseEventArgs e)
Parameter Type Description
e MouseEventArgs

A MouseEventArgs that contains the event data.

OnMouseUp(MouseEventArgs)

Raises the MouseUp event.

protected override void OnMouseUp(MouseEventArgs e)
Parameter Type Description
e MouseEventArgs

A MouseEventArgs that contains the event data.

OnRender(PaintEventArgs)

Renders the element.

protected override void OnRender(PaintEventArgs e)
Parameter Type Description
e PaintEventArgs

A PaintEventArgs that contains the event data.

OnScrolled(ScrollEventArgs)

Raises the Scrolled event.

protected virtual void OnScrolled(ScrollEventArgs e)
Parameter Type Description
e ScrollEventArgs

A ScrollEventArgs that contains the event data.

OnThumbScrolled(EventArgs)

Raises the ThumbScrolled event.

protected virtual void OnThumbScrolled(EventArgs e)
Parameter Type Description
e EventArgs

An EventArgs that contains the event data.

OnThumbScrolling(EventArgs)

Raises the ThumbScrolling event.

protected virtual void OnThumbScrolling(EventArgs e)
Parameter Type Description
e EventArgs

An EventArgs that contains the event data.

OnValueChanged(EventArgs)

Raises the ValueChanged event.

protected virtual void OnValueChanged(EventArgs e)
Parameter Type Description
e EventArgs

An EventArgs that contains the event data.

RaiseCommand(Command)

Raises the specified Command.

public virtual bool RaiseCommand(Command command)
Parameter Type Description
command Command

The Command to raise.

Returns

bool:

true if the Command was handled; otherwise, false.

SetData(int, int, int, int, bool)

Sets all the data in one consolidated method.

public void SetData(int minimum, int maximum, int smallChange, int largeChange, bool enabled)
Parameter Type Description
minimum int

The minimum.

maximum int

The maximum.

smallChange int

The small change.

largeChange int

The large change.

enabled bool

Whether the control is enabled.

Events

Command

Occurs when a Command is executed.

public event CommandEventHandler Command

Event Type

CommandEventHandler

Scrolled

Occurs after a scroll event occurs.

public event ScrollEventHandler Scrolled

Event Type

ScrollEventHandler

ThumbScrolled

Occurs after thumb scrolling ends.

public event EventHandler ThumbScrolled

Event Type

EventHandler

ThumbScrolling

Occurs before thumb scrolling starts.

public event EventHandler ThumbScrolling

Event Type

EventHandler

ValueChanged

Occurs after the value of the Value property changes.

public event EventHandler ValueChanged

Event Type

EventHandler

Inherited Members

Extension Methods