Show / Hide Table of Contents

# Class CheckBox

The CheckBox View shows an on/off toggle that the user can set

##### Inheritance

System.Object
Responder
View
CheckBox

##### Implements

System.Collections.IEnumerable

##### Inherited Members

View.Enter
View.Leave
View.MouseEnter
View.MouseLeave
View.MouseClick
View.Driver
View.Subviews
View.Id
View.IsCurrentTop
View.WantMousePositionReports
View.WantContinuousButtonPressed
View.Frame
View.GetEnumerator()
View.LayoutStyle
View.Bounds
View.X
View.Y
View.Width
View.Height
View.SuperView
View.SetNeedsDisplay()
View.SetNeedsDisplay(Rect)
View.ChildNeedsDisplay()
View.Add(View)
View.Add(View[])
View.RemoveAll()
View.Remove(View)
View.BringSubviewToFront(View)
View.SendSubviewToBack(View)
View.SendSubviewBackwards(View)
View.BringSubviewForward(View)
View.Clear()
View.Clear(Rect)
View.ScreenToView(Int32, Int32)
View.ClipToBounds()
View.SetClip(Rect)
View.DrawFrame(Rect, Int32, Boolean)
View.DrawHotString(ustring, Attribute, Attribute)
View.DrawHotString(ustring, Boolean, ColorScheme)
View.Move(Int32, Int32)
View.HasFocus
View.OnEnter()
View.OnLeave()
View.Focused
View.MostFocused
View.ColorScheme
View.AddRune(Int32, Int32, Rune)
View.ClearNeedsDisplay()
View.DrawContent
View.OnDrawContent(Rect)
View.SetFocus(View)
View.KeyPress
View.ProcessHotKey(KeyEvent)
View.ProcessColdKey(KeyEvent)
View.KeyDown
View.OnKeyDown(KeyEvent)
View.KeyUp
View.OnKeyUp(KeyEvent)
View.EnsureFocus()
View.FocusFirst()
View.FocusLast()
View.FocusPrev()
View.FocusNext()
View.LayoutComplete
View.LayoutSubviews()
View.ToString()
View.OnMouseEnter(MouseEvent)
View.OnMouseLeave(MouseEvent)
View.OnMouseEvent(MouseEvent)
Responder.CanFocus
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)

###### Namespace: Terminal.Gui

###### Assembly: Terminal.Gui.dll

##### Syntax

    public class CheckBox : View, IEnumerable

### Constructors

#### CheckBox()

Initializes a new instance of CheckBox based on the given text, using Computed layout.

##### Declaration

    public CheckBox()

#### CheckBox(ustring, Boolean)

Initializes a new instance of CheckBox based on the given text, using Computed layout.

##### Declaration

    public CheckBox(ustring s, bool is_checked = false)

##### Parameters

Type | Name | Description
--- | --- | ---
NStack.ustring | s | S.
System.Boolean | is_checked | If set to `true` is checked.

#### CheckBox(Int32, Int32, ustring)

Initializes a new instance of CheckBox using Absolute layout.

##### Declaration

    public CheckBox(int x, int y, ustring s)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Int32 | x |
System.Int32 | y |
NStack.ustring | s |

##### Remarks

The size of CheckBox is computed based on the text length. This CheckBox is not toggled.

#### CheckBox(Int32, Int32, ustring, Boolean)

Initializes a new instance of CheckBox using Absolute layout.

##### Declaration

    public CheckBox(int x, int y, ustring s, bool is_checked)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Int32 | x |
System.Int32 | y |
NStack.ustring | s |
System.Boolean | is_checked |

##### Remarks

The size of CheckBox is computed based on the text length.

### Fields

#### Toggled

Toggled event, raised when the CheckBox is toggled.

##### Declaration

    public Action<bool> Toggled

##### Field Value

Type | Description
--- | ---
System.Action<System.Boolean> |

##### Remarks

Client code can hook up to this event, it is raised when the CheckBox is activated either with the mouse or the keyboard. The passed `bool` contains the previous state.

### Properties

#### Checked

The state of the CheckBox

##### Declaration

    public bool Checked { get; set; }

##### Property Value

Type | Description
--- | ---
System.Boolean |

#### Text

The text displayed by this CheckBox

##### Declaration

    public ustring Text { get; set; }

##### Property Value

Type | Description
--- | ---
NStack.ustring |

### Methods

#### MouseEvent(MouseEvent)

Method invoked when a mouse event is generated

##### Declaration

    public override bool MouseEvent(MouseEvent me)

##### Parameters

Type | Name | Description
--- | --- | ---
MouseEvent | me |

##### Returns

Type | Description
--- | ---
System.Boolean | `true`, if the event was handled, `false` otherwise.

##### Overrides

Responder.MouseEvent(MouseEvent)

#### OnToggled(Boolean)

Called when the Checked property changes. Invokes the Toggled event.

##### Declaration

    public virtual void OnToggled(bool previousChecked)

##### Parameters

Type | Name | Description
--- | --- | ---
System.Boolean | previousChecked |

#### PositionCursor()

Positions the cursor in the right position based on the currently focused view in the chain.

##### Declaration

    public override void PositionCursor()

##### Overrides

View.PositionCursor()

#### ProcessKey(KeyEvent)

If the view is focused, gives the view a chance to process the keystroke.

##### Declaration

    public override bool ProcessKey(KeyEvent kb)

##### Parameters

Type | Name | Description
--- | --- | ---
KeyEvent | kb |

##### Returns

Type | Description
--- | ---
System.Boolean |

##### Overrides

View.ProcessKey(KeyEvent)

##### Remarks

Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process.

The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses.

#### Redraw(Rect)

Redraws this view and its subviews; only redraws the views that have been flagged for a re-display.

##### Declaration

    public override void Redraw(Rect bounds)

##### Parameters

Type | Name | Description
--- | --- | ---
Rect | bounds | The bounds (view-relative region) to redraw.

##### Overrides

View.Redraw(Rect)

##### Remarks

Always use Bounds (view-relative) when calling Redraw(Rect), NOT Frame (superview-relative).

Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globaly on the driver.

Overrides of Redraw(Rect) must ensure they do not set `Driver.Clip` to a clip region larger than the `region` parameter.

### Implements

System.Collections.IEnumerable