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.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize

##### Inherited Members

View.Added
View.Removed
View.Enter
View.Leave
View.MouseEnter
View.MouseLeave
View.MouseClick
View.HotKey
View.HotKeySpecifier
View.Shortcut
View.ShortcutTag
View.ShortcutAction
View.Data
View.Driver
View.Subviews
View.TabIndexes
View.TabIndex
View.TabStop
View.CanFocus
View.Id
View.IsCurrentTop
View.WantMousePositionReports
View.WantContinuousButtonPressed
View.Frame
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.OnAdded(View)
View.OnRemoved(View)
View.OnEnter(View)
View.OnLeave(View)
View.Focused
View.MostFocused
View.ColorScheme
View.AddRune(Int32, Int32, Rune)
View.ClearNeedsDisplay()
View.DrawContent
View.OnDrawContent(Rect)
View.SetFocus()
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.LayoutStarted
View.LayoutComplete
View.Initialized
View.LayoutSubviews()
View.AutoSize
View.TextAlignment
View.IsInitialized
View.ToString()
View.OnMouseEnter(MouseEvent)
View.OnMouseLeave(MouseEvent)
View.OnMouseEvent(MouseEvent)
View.OnMouseClick(View.MouseEventArgs)
View.Dispose(Boolean)
View.BeginInit()
View.EndInit()
View.Visible
Responder.Dispose()
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, IDisposable, ISupportInitializeNotification, ISupportInitialize

### 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.

### 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 globally on the driver.

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

### Events

#### Toggled

Toggled event, raised when the CheckBox is toggled.

##### Declaration

    public event Action<bool> Toggled

##### Event Type

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.

### Implements

System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize