# ScrollableControl

Namespace: **Wisej.Web**

Assembly: **Wisej.Framework** (4.0.0.0)

* [Control](/api/wisej.web/general/control.md)
  * [ScrollableControl](/api/wisej.web/containers/scrollablecontrol.md)

Defines a base class for controls that support auto-scrolling behavior.

{% tabs %}
{% tab title="C#" %}

```csharp
public class ScrollableControl : Control
```

{% endtab %}

{% tab title="VB.NET" %}

```visual-basic
Public Class ScrollableControl
    Inherits Control
```

{% endtab %}
{% endtabs %}

## Constructors

### ![](/files/hsR4ok3152WyAf8J2C1u) ScrollableControl()

Initializes a new instance of the [ScrollableControl](/api/wisej.web/containers/scrollablecontrol.md) class.

## Properties

### ![](/files/hsR4ok3152WyAf8J2C1u) AutoScroll

[Boolean](https://docs.microsoft.com/dotnet/api/system.boolean): Returns or sets whether the container enables the user to scroll to any controls placed outside of its visible boundaries. (Default: `False`)

### ![](/files/hsR4ok3152WyAf8J2C1u) AutoScrollMargin

[Size](https://docs.microsoft.com/dotnet/api/system.drawing.size): Returns or sets the size of the auto-scroll margin. (Default: `{Width=0, Height=0}`)

**Throws:**

* [ArgumentOutOfRangeException](https://docs.microsoft.com/dotnet/api/system.argumentoutofrangeexception)\
  The [Height](https://docs.microsoft.com/dotnet/api/system.drawing.size.height) or [Width](https://docs.microsoft.com/dotnet/api/system.drawing.size.width) value assigned is less than 0.

### ![](/files/hsR4ok3152WyAf8J2C1u) AutoScrollMinSize

[Size](https://docs.microsoft.com/dotnet/api/system.drawing.size): Returns or sets the minimum size of the auto-scroll. (Default: `{Width=0, Height=0}`)

### ![](/files/hsR4ok3152WyAf8J2C1u) ClientArea

[Rectangle](https://docs.microsoft.com/dotnet/api/system.drawing.rectangle): Returns the client rectangle to use in the designer.

### ![](/files/hsR4ok3152WyAf8J2C1u) DisplayRectangle

[Rectangle](https://docs.microsoft.com/dotnet/api/system.drawing.rectangle): Returns the rectangle that represents the virtual display area of the control.

### ![](/files/hsR4ok3152WyAf8J2C1u) HorizontalScroll

[HScrollProperties](/api/wisej.web/content/scrollbar/wisej.web.hscrollproperties.md): Returns the properties associated with the horizontal scroll bar.

### ![](/files/hsR4ok3152WyAf8J2C1u) HScroll

[Boolean](https://docs.microsoft.com/dotnet/api/system.boolean): Returns whether the horizontal scroll bar is visible.

### ![](/files/lzopMboA31bVq8UIcbT3) OverlappedScrollbars

[Boolean](https://docs.microsoft.com/dotnet/api/system.boolean): Returns whether the scrollbars are being created overlapped with the content in the browser at runtime.

### ![](/files/hsR4ok3152WyAf8J2C1u) ScrollBars

[ScrollBars](/api/wisej.web/enumerations/wisej.web.scrollbars.md): Returns or sets the type of scroll bars to display for the [ScrollableControl](/api/wisej.web/containers/scrollablecontrol.md) control. (Default: `Both`)

### ![](/files/lzopMboA31bVq8UIcbT3) ScrollBarSize

[Size](https://docs.microsoft.com/dotnet/api/system.drawing.size): Returns the size of the native scrollbar in design mode and the themed scrollbar at runtime.

### ![](/files/hsR4ok3152WyAf8J2C1u) VerticalScroll

[VScrollProperties](/api/wisej.web/content/scrollbar/wisej.web.vscrollproperties.md): Returns the properties associated with the vertical scroll bar.

### ![](/files/hsR4ok3152WyAf8J2C1u) VScroll

[Boolean](https://docs.microsoft.com/dotnet/api/system.boolean): Returns whether the vertical scroll bar is visible.

## Methods

### ![](/files/lzopMboA31bVq8UIcbT3) OnRightToLeftChanged(e)

Fires the [RightToLeftChanged](/api/wisej.web/general/control.md#righttoleftchanged) event.

| Parameter | Type                                                                | Description                                                                                          |
| --------- | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| **e**     | [EventArgs](https://docs.microsoft.com/dotnet/api/system.eventargs) | An [EventArgs](https://docs.microsoft.com/dotnet/api/system.eventargs) that contains the event data. |

### ![](/files/lzopMboA31bVq8UIcbT3) OnScroll(e)

Fires the [Scroll](#scroll) event.

| Parameter | Type                                                                             | Description                                                                                                      |
| --------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| **e**     | [ScrollEventArgs](/api/wisej.web/content/scrollbar/wisej.web.scrolleventargs.md) | A [ScrollEventArgs](/api/wisej.web/content/scrollbar/wisej.web.scrolleventargs.md) that contains the event data. |

This event fires only if there is an handler attached to it. A simple overload of the On\[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

### ![](/files/lzopMboA31bVq8UIcbT3) OnVisibleChanged(e)

Fires the [VisibleChanged](/api/wisej.web/general/control.md#visiblechanged) event.

| Parameter | Type                                                                | Description                                                                                         |
| --------- | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| **e**     | [EventArgs](https://docs.microsoft.com/dotnet/api/system.eventargs) | A [EventArgs](https://docs.microsoft.com/dotnet/api/system.eventargs) that contains the event data. |

### ![](/files/lzopMboA31bVq8UIcbT3) OnWebEvent(e)

Processes the event from the client.

| Parameter | Type                                                        | Description      |
| --------- | ----------------------------------------------------------- | ---------------- |
| **e**     | [WisejEventArgs](/api/wisej.core/general/wisejeventargs.md) | Event arguments. |

### ![](/files/lzopMboA31bVq8UIcbT3) OnWebRender(config)

Renders the client component.

| Parameter  | Type                                                          | Description                   |
| ---------- | ------------------------------------------------------------- | ----------------------------- |
| **config** | [Object](https://docs.microsoft.com/dotnet/api/system.object) | Dynamic configuration object. |

### ![](/files/lzopMboA31bVq8UIcbT3) OnWebUpdate(state)

Updates the client component using the state information.

| Parameter | Type                                                          | Description           |
| --------- | ------------------------------------------------------------- | --------------------- |
| **state** | [Object](https://docs.microsoft.com/dotnet/api/system.object) | Dynamic state object. |

### ![](/files/hsR4ok3152WyAf8J2C1u) PointToClient(point)

Computes the location of the specified screen point into client coordinates.

| Parameter | Type                                                                | Description                                                                                           |
| --------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| **point** | [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point) | The screen coordinate [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point) to convert. |

**Returns:** [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point). A [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point) that represents the converted [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point), *point* , in client coordinates.

### ![](/files/hsR4ok3152WyAf8J2C1u) PointToScreen(point)

Computes the location of the specified client point into screen coordinates.

| Parameter | Type                                                                | Description                                                                                           |
| --------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| **point** | [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point) | The client coordinate [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point) to convert. |

**Returns:** [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point). A [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point) that represents the converted [Point](https://docs.microsoft.com/dotnet/api/system.drawing.point), *point* , in screen coordinates.

### ![](/files/hsR4ok3152WyAf8J2C1u) ScrollControlIntoView(control)

Scrolls the specified child *control* into view.

| Parameter   | Type                                         | Description                            |
| ----------- | -------------------------------------------- | -------------------------------------- |
| **control** | [Control](/api/wisej.web/general/control.md) | The child control to scroll into view. |

### ![](/files/hsR4ok3152WyAf8J2C1u) ScrollControlIntoView(control, alignX, alignY)

Scrolls the specified child *control* into view. using the specified *alignX* and *alignY* preferences.

| Parameter   | Type                                                                                | Description                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ----------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **control** | [Control](/api/wisej.web/general/control.md)                                        | The child control to scroll into view.                                                                                                                                                                                                                                                                                                                                                                                              |
| **alignX**  | [HorizontalAlignment](/api/wisej.web/enumerations/wisej.web.horizontalalignment.md) | Indicates the [HorizontalAlignment](/api/wisej.web/enumerations/wisej.web.horizontalalignment.md) preference. The final location of the control depends on the scrollable range and the available space. Note that [Center](/api/wisej.web/enumerations/wisej.web.horizontalalignment.md#fields) will not scroll the control to the center, but will instead scroll it into the closest visible location with the minimum movement. |
| **alignY**  | [VerticalAlignment](/api/wisej.web/enumerations/wisej.web.verticalalignment.md)     | Indicates the [VerticalAlignment](/api/wisej.web/enumerations/wisej.web.verticalalignment.md) preference. The final location of the control depends on the scrollable range and the available space. Note that [Middle](/api/wisej.web/enumerations/wisej.web.verticalalignment.md#fields) will not scroll the control to the middle, but will instead scroll it into the closest visible location with the minimum movement.       |

## Events

### ![](/files/hsR4ok3152WyAf8J2C1u) Scroll

[ScrollEventHandler](/api/wisej.web/content/scrollbar/wisej.web.scrolleventhandler.md) Fired when the user or code scrolls through the client area.

This event fires only if there is an handler attached to it. A simple overload of the On\[Event] method in a derived class will not be invoked unless there is at least one handler attached to the event.

## Inherited By

| Name                                                                                      | Description                                                                                                                                                           |
| ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [TableLayoutPanel](/api/wisej.web/containers/tablelayoutpanel.md)                         | Represents a panel that dynamically lays out its contents in a grid composed of rows and columns.                                                                     |
| [FileDialogUI](/api/wisej.web/common-dialogs/wisej.web.filedialogui.md)                   | UI implementation for the FileDialog class.                                                                                                                           |
| [FolderBrowserDialogUI](/api/wisej.web/common-dialogs/wisej.web.folderbrowserdialogui.md) | UI implementation for the FolderDialog class.                                                                                                                         |
| [BindingNavigator](/api/wisej.web/data-binding/wisej.web.bindingnavigator.md)             | Represents the navigation and manipulation user interface (UI) for controls that are bound to a data source.                                                          |
| [ContainerControl](/api/wisej.web/containers/containercontrol.md)                         | Provides focus-management functionality for controls that can function as a container for other controls.                                                             |
| [FlowLayoutPanel](/api/wisej.web/containers/flowlayoutpanel.md)                           | Represents a panel that dynamically arranges its controls horizontally or vertically in automatic rows or columns.                                                    |
| [Form](/api/wisej.web/containers/form.md)                                                 | Represents a window or dialog box that makes up an application's user interface.                                                                                      |
| [Page](/api/wisej.web/containers/wisej.web.page.md)                                       | Represents a web page that fills the browser and acts as the main container for the application. An application can have only one active main page at any given time. |
| [Panel](/api/wisej.web/containers/wisej.web.panel.md)                                     | Represents a collapsible panel with an optional header that contains a group of controls.                                                                             |
| [SplitContainer](/api/wisej.web/containers/splitcontainer.md)                             | Represents a control consisting of a movable bar that divides a container's display area into two resizable panels.                                                   |
| [SplitterPanel](/api/wisej.web/containers/splitcontainer/wisej.web.splitterpanel.md)      | Creates a panel that is associated with a [SplitContainer](/api/wisej.web/containers/splitcontainer.md).                                                              |
| [TabPage](/api/wisej.web/containers/tabcontrol/wisej.web.tabpage.md)                      | Represents a single tab page in a [TabControl](/api/wisej.web/containers/tabcontrol.md).                                                                              |
| [UserControl](/api/wisej.web/containers/wisej.web.usercontrol.md)                         | Provides an empty control that can be used to create other controls.                                                                                                  |
| [DataRepeater](/api/wisej.web/containers/datarepeater.md)                                 | Displays data in a customizable list format.                                                                                                                          |
| [DataRepeaterItem](/api/wisej.web/containers/datarepeater/wisej.web.datarepeateritem.md)  | Used by the [DataRepeater](/api/wisej.web/containers/datarepeater.md) control to display data at run time.                                                            |
| [Desktop](/api/wisej.web/containers/desktop.md)                                           | Represents a desktop container that can host floating windows.                                                                                                        |
| [AccordionPanel](/api/wisej.web/containers/accordion/wisej.web.accordionpanel.md)         | Represents a panel in a [Accordion](/api/wisej.web/containers/accordion.md) control.                                                                                  |
| [FlexLayoutPanel](/api/wisej.web/containers/flexlayoutpanel.md)                           | Represents a panel that dynamically arranges its child controls.                                                                                                      |
| [UserPopup](/api/wisej.web/containers/wisej.web.userpopup.md)                             | Provides an popup container that can be attached to other controls.                                                                                                   |

## Implements

| Name                                                                              | Description                                                                                                           |
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| [IUserData](/api/wisej.web/interfaces/wisej.web.iuserdata.md)                     | Provides access to the `UserData` and `Tag` properties associated to the component implementing this interface.       |
| [IBindableComponent](/api/wisej.web/data-binding/wisej.web.ibindablecomponent.md) | Bindable components implement this interface.                                                                         |
| [IDropTarget](/api/wisej.web/interfaces/wisej.web.idroptarget.md)                 | Controls that support drag & drop operations implement this interface.                                                |
| [IWisejComponent](/api/wisej.core/interfaces/wisej.core.iwisejcomponent.md)       | All wisej components implement this interface.                                                                        |
| [IWisejControl](/api/wisej.core/interfaces/wisej.core.iwisejcontrol.md)           | All wisej controls derived from the [Control](/api/wisej.web/general/control.md) class must implement this interface. |
| [IWisejSerializable](/api/wisej.core/interfaces/wisej.core.iwisejserializable.md) | Allows an object to serialize itself.                                                                                 |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wisej.com/api/wisej.web/containers/scrollablecontrol.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
