# C#: UI controls

Source: https://tweens.gd/csharp/nodes/ui/

Definitions for `Control`, `Range`, and the UI classes that derive from them.

Each row pairs a definition with its shorthand method. Names ending in X, Y, Z, or Alpha write one component.

76 definitions: [Control](https://tweens.gd/csharp/nodes/ui/#control) · [Range](https://tweens.gd/csharp/nodes/ui/#range) · [ColorRect](https://tweens.gd/csharp/nodes/ui/#colorrect) · [Label](https://tweens.gd/csharp/nodes/ui/#label) · [RichTextLabel](https://tweens.gd/csharp/nodes/ui/#richtextlabel) · [ScrollContainer](https://tweens.gd/csharp/nodes/ui/#scrollcontainer) · [TextureProgressBar](https://tweens.gd/csharp/nodes/ui/#textureprogressbar)

## Control

| Definition | Shorthand | Value |
| --- | --- | --- |
| `Tweens.ControlAnchorBottom` | `TweenAnchorBottom` | float |
| `Tweens.ControlAnchorLeft` | `TweenAnchorLeft` | float |
| `Tweens.ControlAnchorMax` | `TweenAnchorMax` | Vector2 |
| `Tweens.ControlAnchorMin` | `TweenAnchorMin` | Vector2 |
| `Tweens.ControlAnchorRight` | `TweenAnchorRight` | float |
| `Tweens.ControlAnchorTop` | `TweenAnchorTop` | float |
| `Tweens.ControlCustomMaximumSize` | `TweenCustomMaximumSize` | Vector2 |
| `Tweens.ControlCustomMaximumSizeX` | `TweenCustomMaximumSizeX` | float |
| `Tweens.ControlCustomMaximumSizeY` | `TweenCustomMaximumSizeY` | float |
| `Tweens.ControlCustomMinimumSize` | `TweenCustomMinimumSize` | Vector2 |
| `Tweens.ControlCustomMinimumSizeX` | `TweenCustomMinimumSizeX` | float |
| `Tweens.ControlCustomMinimumSizeY` | `TweenCustomMinimumSizeY` | float |
| `Tweens.ControlGlobalPosition` | `TweenGlobalPosition` | Vector2 |
| `Tweens.ControlGlobalPositionX` | `TweenGlobalPositionX` | float |
| `Tweens.ControlGlobalPositionY` | `TweenGlobalPositionY` | float |
| `Tweens.ControlOffsetBottom` | `TweenOffsetBottom` | float |
| `Tweens.ControlOffsetLeft` | `TweenOffsetLeft` | float |
| `Tweens.ControlOffsetRight` | `TweenOffsetRight` | float |
| `Tweens.ControlOffsets` | `TweenOffsets` | Vector4 |
| `Tweens.ControlOffsetTop` | `TweenOffsetTop` | float |
| `Tweens.ControlOffsetTransformPivot` | `TweenOffsetTransformPivot` | Vector2 |
| `Tweens.ControlOffsetTransformPivotRatio` | `TweenOffsetTransformPivotRatio` | Vector2 |
| `Tweens.ControlOffsetTransformPivotRatioX` | `TweenOffsetTransformPivotRatioX` | float |
| `Tweens.ControlOffsetTransformPivotRatioY` | `TweenOffsetTransformPivotRatioY` | float |
| `Tweens.ControlOffsetTransformPivotX` | `TweenOffsetTransformPivotX` | float |
| `Tweens.ControlOffsetTransformPivotY` | `TweenOffsetTransformPivotY` | float |
| `Tweens.ControlOffsetTransformPosition` | `TweenOffsetTransformPosition` | Vector2 |
| `Tweens.ControlOffsetTransformPositionRatio` | `TweenOffsetTransformPositionRatio` | Vector2 |
| `Tweens.ControlOffsetTransformPositionRatioX` | `TweenOffsetTransformPositionRatioX` | float |
| `Tweens.ControlOffsetTransformPositionRatioY` | `TweenOffsetTransformPositionRatioY` | float |
| `Tweens.ControlOffsetTransformPositionX` | `TweenOffsetTransformPositionX` | float |
| `Tweens.ControlOffsetTransformPositionY` | `TweenOffsetTransformPositionY` | float |
| `Tweens.ControlOffsetTransformRotation` | `TweenOffsetTransformRotation` | float |
| `Tweens.ControlOffsetTransformScale` | `TweenOffsetTransformScale` | Vector2 |
| `Tweens.ControlOffsetTransformScaleX` | `TweenOffsetTransformScaleX` | float |
| `Tweens.ControlOffsetTransformScaleY` | `TweenOffsetTransformScaleY` | float |
| `Tweens.ControlPivotOffset` | `TweenPivotOffset` | Vector2 |
| `Tweens.ControlPivotOffsetRatio` | `TweenPivotOffsetRatio` | Vector2 |
| `Tweens.ControlPivotOffsetRatioX` | `TweenPivotOffsetRatioX` | float |
| `Tweens.ControlPivotOffsetRatioY` | `TweenPivotOffsetRatioY` | float |
| `Tweens.ControlPivotOffsetX` | `TweenPivotOffsetX` | float |
| `Tweens.ControlPivotOffsetY` | `TweenPivotOffsetY` | float |
| `Tweens.ControlPosition` | `TweenPosition` | Vector2 |
| `Tweens.ControlPositionX` | `TweenPositionX` | float |
| `Tweens.ControlPositionY` | `TweenPositionY` | float |
| `Tweens.ControlRotation` | `TweenRotation` | float |
| `Tweens.ControlScale` | `TweenScale` | Vector2 |
| `Tweens.ControlScaleX` | `TweenScaleX` | float |
| `Tweens.ControlScaleY` | `TweenScaleY` | float |
| `Tweens.ControlSize` | `TweenSize` | Vector2 |
| `Tweens.ControlSizeFlagsStretchRatio` | `TweenSizeFlagsStretchRatio` | float |
| `Tweens.ControlSizeX` | `TweenSizeX` | float |
| `Tweens.ControlSizeY` | `TweenSizeY` | float |

## Range

| Definition | Shorthand | Value |
| --- | --- | --- |
| `Tweens.RangeValue` | `TweenValue` | double |

## ColorRect

| Definition | Shorthand | Value |
| --- | --- | --- |
| `Tweens.ColorRectColor` | `TweenColor` | Color |
| `Tweens.ColorRectColorAlpha` | `TweenColorAlpha` | float |

## Label

| Definition | Shorthand | Value |
| --- | --- | --- |
| `Tweens.LabelVisibleCharacters` | `TweenVisibleCharacters` | int |
| `Tweens.LabelVisibleRatio` | `TweenVisibleRatio` | float |

## RichTextLabel

| Definition | Shorthand | Value |
| --- | --- | --- |
| `Tweens.RichTextLabelVisibleCharacters` | `TweenVisibleCharacters` | int |
| `Tweens.RichTextLabelVisibleRatio` | `TweenVisibleRatio` | float |

## ScrollContainer

| Definition | Shorthand | Value |
| --- | --- | --- |
| `Tweens.ScrollContainerScrollHorizontal` | `TweenScrollHorizontal` | int |
| `Tweens.ScrollContainerScrollVertical` | `TweenScrollVertical` | int |

## TextureProgressBar

| Definition | Shorthand | Value |
| --- | --- | --- |
| `Tweens.TextureProgressBarRadialCenterOffset` | `TweenRadialCenterOffset` | Vector2 |
| `Tweens.TextureProgressBarRadialCenterOffsetX` | `TweenRadialCenterOffsetX` | float |
| `Tweens.TextureProgressBarRadialCenterOffsetY` | `TweenRadialCenterOffsetY` | float |
| `Tweens.TextureProgressBarRadialFillDegrees` | `TweenRadialFillDegrees` | float |
| `Tweens.TextureProgressBarRadialInitialAngle` | `TweenRadialInitialAngle` | float |
| `Tweens.TextureProgressBarTextureProgressOffset` | `TweenTextureProgressOffset` | Vector2 |
| `Tweens.TextureProgressBarTextureProgressOffsetX` | `TweenTextureProgressOffsetX` | float |
| `Tweens.TextureProgressBarTextureProgressOffsetY` | `TweenTextureProgressOffsetY` | float |
| `Tweens.TextureProgressBarTintOver` | `TweenTintOver` | Color |
| `Tweens.TextureProgressBarTintOverAlpha` | `TweenTintOverAlpha` | float |
| `Tweens.TextureProgressBarTintProgress` | `TweenTintProgress` | Color |
| `Tweens.TextureProgressBarTintProgressAlpha` | `TweenTintProgressAlpha` | float |
| `Tweens.TextureProgressBarTintUnder` | `TweenTintUnder` | Color |
| `Tweens.TextureProgressBarTintUnderAlpha` | `TweenTintUnderAlpha` | float |

## Units and constraints

-   `Control` anchors use push-opposite behavior. Minimum and maximum sizes and containers still apply.
-   The `OffsetTransform` properties require `OffsetTransformEnabled = true`. They move and scale a control visually without rewriting its container-controlled `Position` and `Size`. The pivot and position `Ratio` variants are relative to `Control.Size`.
-   `VisibleCharacters`, `ScrollHorizontal`, and `ScrollVertical` are integers. A negative `VisibleCharacters` keeps its native meaning, so set `From = 0` explicitly for a reveal. Set up scrollable content before tweening a scroll.
-   Radial progress angles use degrees.
