<!-- 
This file is automatically generated from the API documentation and the OutputView tool found in the 
.docfx/scripts/OutputView folder.
OutputView is a simple tool that takes a view name and outputs the view's rendered output to a file, 
using Application.ToString to capture the view's rendered output.
-->
# Terminal Gui's Built-in Views

*Terminal.Gui* provides the following set of built-in views and controls for building terminal user interfaces:


## [Bar](~/api/Terminal.Gui.Views.Bar.yml)

Provides a horizontally or vertically oriented container for [Shortcut](~/api/Terminal.Gui.Views.Shortcut.yml)s to be used as a menu, toolbar, or status bar.

```text
Quit  Quit  Ctrl+Z  Help  Help Text  F1  ☐ Check
```

## [Button](~/api/Terminal.Gui.Views.Button.yml)

A button View that can be pressed with the mouse or keyboard.

```text
⟦ Button ⟧
```

## [CharMap](~/api/Terminal.Gui.Views.CharMap.yml)

A scrollable map of the Unicode codepoints.

```text
0  1  2  3  4  5  6  7  8  9  a  b  c  d
U+00000_ ␀  ␁  ␂  ␃  ␄  ␅  ␆  ␇  ␈  ␉  ␊  ␋  ␌  ␍▲
U+00001_ ␐  ␑  ␒  ␓  ␔  ␕  ␖  ␗  ␘  ␙  ␚  ␛  ␜  ␝█
U+00002_    !  "  #  $  %  &  '  (  )  *  +  ,  -░
U+00003_ 0  1  2  3  4  5  6  7  8  9  :  ;  <  =░
U+00004_ @  A  B  C  D  E  F  G  H  I  J  K  L  M░
U+00005_ P  Q  R  S  T  U  V  W  X  Y  Z  [  \  ]░
U+00006_ `  a  b  c  d  e  f  g  h  i  j  k  l  m░
U+00007_ p  q  r  s  t  u  v  w  x  y  z  {  |  }░
U+00008_ ⒀  ⒁  ⒂  ⒃  ⒄  ⒅  ⒆  ⒇  ⒈  ⒉  ⒊  ⒋  ⒌  ⒍░
U+00009_ ⒐  ⒑  ⒒  ⒓  ⒔  ⒕  ⒖  ⒗  ⒘  ⒙  ⒚  ⒛  ⒜  ⒝░
U+0000a_    ¡  ¢  £  ¤  ¥  ¦  §  ¨  ©  ª  «  ¬  F░
U+0000b_ °  ±  ²  ³  ´  µ  ¶  ·  ¸  ¹  º  »  ¼  ½░
U+0000c_ À  Á  Â  Ã  Ä  Å  Æ  Ç  È  É  Ê  Ë  Ì  Í░
U+0000d_ Ð  Ñ  Ò  Ó  Ô  Õ  Ö  ×  Ø  Ù  Ú  Û  Ü  Ý░
U+0000e_ à  á  â  ã  ä  å  æ  ç  è  é  ê  ë  ì  í░
U+0000f_ ð  ñ  ò  ó  ô  õ  ö  ÷  ø  ù  ú  û  ü  ý░
U+00010_ Ā  ā  Ă  ă  Ą  ą  Ć  ć  Ĉ  ĉ  Ċ  ċ  Č  č░
U+00011_ Đ  đ  Ē  ē  Ĕ  ĕ  Ė  ė  Ę  ę  Ě  ě  Ĝ  ĝ▼
        ◄████████████████████████████░░░░░░░░░░░►
```

## [CheckBox](~/api/Terminal.Gui.Views.CheckBox.yml)

Shows a checkbox that can be cycled between two or three states.

```text
☐ Demo Title
```

## [ColorPicker](~/api/Terminal.Gui.Views.ColorPicker.yml)

Color Picker supporting RGB, HSL, and HSV color models. Supports choosing colors with sliders and color names from the [IColorNameResolver](~/api/Terminal.Gui.Drawing.IColorNameResolver.yml).

```text
H:                         ▲355
S:                  ▲       70
V:                       ▲  91
Hex:#E74856  ■
```

## [ColorPicker16](~/api/Terminal.Gui.Views.ColorPicker16.yml)

A sinple color picker that supports the legacy 16 ANSI colors

```text
┌┄┄┐
└┄┄┘
```

## [ComboBox](~/api/Terminal.Gui.Views.ComboBox.yml)

Provides a drop-down list of items the user can select from.

```text
▼
```

## [DateField](~/api/Terminal.Gui.Views.DateField.yml)

Provides date editing functionality with mouse support.

```text
01/01/0001
```

## [DatePicker](~/api/Terminal.Gui.Views.DatePicker.yml)

Lets the user pick a date from a visual calendar.

```text
┌┤Demo Title├────────────────┐
│Date:  10/31/2025           │
│┌───┬───┬───┬───┬───┬───┬──┐│
││Sun│Mon│Tue│Wed│Thu│Fri│Sa││
│├───┼───┼───┼───┼───┼───┼──┤│
││-  │-  │-  │1  │2  │3  │4 ││
││5  │6  │7  │8  │9  │10 │11││
││12 │13 │14 │15 │16 │17 │18││
││19 │20 │21 │22 │23 │24 │25││
││26 │27 │28 │29 │30 │31 │- ││
││-  │-  │-  │-  │-  │-  │- ││
│└───┴───┴───┴───┴───┴───┴──┘│
│           ◄◄  ►►           │
└────────────────────────────┘
```

## [Dialog](~/api/Terminal.Gui.Views.Dialog.yml)

A [Toplevel.Modal](~/api/Terminal.Gui.Views.Toplevel.Modal.yml) [Window](~/api/Terminal.Gui.Views.Window.yml). Supports a simple API for adding [Button](~/api/Terminal.Gui.Views.Button.yml)s across the bottom. By default, the [Dialog](~/api/Terminal.Gui.Views.Dialog.yml) is centered and used the [Schemes.Dialog](~/api/Terminal.Gui.Drawing.Schemes.Dialog.yml) scheme.

```text
┏┥Demo Title┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃Demo Text                               ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┃                                        ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
```

## [FileDialog](~/api/Terminal.Gui.Views.FileDialog.yml)

The base-class for [OpenDialog](~/api/Terminal.Gui.Views.OpenDialog.yml) and [SaveDialog](~/api/Terminal.Gui.Views.SaveDialog.yml)

```text
┏┥Open┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃C:\Users\Tig\s\gui-cs\Terminal.Gui\doc┃
┃⟦▲⟧                                   ┃
┃┌────────────────────┬───────────────┐┃
┃│Filename (▲)        │Size           │┃
┃├────────────────────┼───────────────►┃
┃│..                  │               │┃
┃│\_exported_templates│               │┃
┃│\_site              │               │┃
┃│\api                │               │┃
┃│\apispec            │               │┃
┃│\docs               │               │┃
┃│\images             │               │┃
┃Find                                  ┃
┃⟦►Tree⟧            ⟦► OK ◄⟧ ⟦ Cancel ⟧┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
```

## [FlagSelector](~/api/Terminal.Gui.Views.FlagSelector.yml)

Provides a user interface for displaying and selecting non-mutually-exclusive flags. Flags can be set from a dictionary or directly from an enum type.

```text
☒ No Style
☐ Show None Value Style
☐ ShowAllFlag
☐ Show Value Editor Style
☐ All Styles
0
```

## [FlagSelector\<T\>](~/api/Terminal.Gui.Views.FlagSelector-1.yml)

Provides a user interface for displaying and selecting non-mutually-exclusive flags. Flags can be set from a dictionary or directly from an enum type.



## [FrameView](~/api/Terminal.Gui.Views.FrameView.yml)

A non-overlapped container for other views with a border and optional title.

```text
╭┤Demo Title├────────────────────────────────────╮
│Demo Text                                       │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
╰────────────────────────────────────────────────╯
```

## [GraphView](~/api/Terminal.Gui.Views.GraphView.yml)

Displays graphs (bar, scatter, etc.) with flexible labels, scaling, and scrolling

```text
│        .
                            │      ..
                        0.60┤     .
                            ┤    ∙
                            │   .
                            │ ..
                        0.20┤.
   ┬────┬────┬────┬────┬────∙────┬────┬────┬────┬─
 -2.50     -1.50     -0.50 .│  0.50      1.50
↑                         . │
Y                      -0.20┤
..                      .   │
  .                    ∙    ┤
   ∙                  .     │
    .               .. -0.60┤
     ..            .        │
       .        ..∙         ┤
        ∙....∙..       -1.00┤

                        X →
```

## [HexView](~/api/Terminal.Gui.Views.HexView.yml)

Provides a hex editor with the left side showing the hex values of the bytes in a `Stream` and the right side showing the contents (filtered to printable Unicode glyphs).

```text
00000000 48 65 78 56 ┊ 69 65 77 20  HexView
00000008 64 61 74 61 ┊ 20 77 69 74  data wit
00000010 68 20 77 69 ┊ 64 65 20 63  h wide c
00000018 6f 64 65 70 ┊ 6f 69 6e 74  odepoint
00000020 73 3a 20 f0 ┊ 9d 94 b9 41  s: ����A
00000028 e2 84 9d f0 ┊ 9d 94 bd 21  �������!
00000030             ┊
00000038             ┊
00000040             ┊
00000048             ┊
00000050             ┊
00000058             ┊
00000060             ┊
00000068             ┊
00000070             ┊
00000078             ┊
00000080             ┊
00000088             ┊
00000090             ┊
00000098             ┊
```

## [Label](~/api/Terminal.Gui.Views.Label.yml)

Displays text that describes the View next in the [View.SubViews](~/api/Terminal.Gui.ViewBase.View.SubViews.yml). When the user presses a hotkey that matches the [View.HotKey](~/api/Terminal.Gui.ViewBase.View.HotKey.yml) of the Label, the next [View](~/api/Terminal.Gui.ViewBase.View.yml) in [View.SubViews](~/api/Terminal.Gui.ViewBase.View.SubViews.yml) will be activated.

```text
Label
```

## [LegendAnnotation](~/api/Terminal.Gui.Views.LegendAnnotation.yml)

Used by [GraphView](~/api/Terminal.Gui.Views.GraphView.yml) to render smbol definitions in a graph, e.g. colors and their meanings

```text
┌┤Demo Title├────────────────────────────────────┐
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
└────────────────────────────────────────────────┘
```

## [Line](~/api/Terminal.Gui.Views.Line.yml)

Draws a single line using the [LineStyle](~/api/Terminal.Gui.Drawing.LineStyle.yml) specified by [View.BorderStyle](~/api/Terminal.Gui.ViewBase.View.BorderStyle.yml).

```text
──────────────────────────────────────────────────
```

## [LineView](~/api/Terminal.Gui.Views.LineView.yml)

A straight line control either horizontal or vertical



## [ListView](~/api/Terminal.Gui.Views.ListView.yml)

Provides a scrollable list of data where each item can be activated to perform an action.

```text
List Item 1
List Item two
List Item Quattro
Last List Item
```

## [MenuBar](~/api/Terminal.Gui.Views.MenuBar.yml)

Provides a menu bar that spans the top of a [Toplevel](~/api/Terminal.Gui.Views.Toplevel.yml) View with drop-down and cascading menus.  By default, any sub-sub-menus (sub-menus of the [MenuItem](~/api/Terminal.Gui.Views.MenuItem.yml)s added to [MenuBarItem](~/api/Terminal.Gui.Views.MenuBarItem.yml)s) are displayed in a cascading manner, where each sub-sub-menu pops out of the sub-menu frame (either to the right or left, depending on where the sub-menu is relative to the edge of the screen). By setting [MenuBar.UseSubMenusSingleFrame](~/api/Terminal.Gui.Views.MenuBar.UseSubMenusSingleFrame.yml) to true, this behavior can be changed such that all sub-sub-menus are drawn within a single frame below the MenuBar. 

```text
File  Edit  About (Top-Level)
```

## [MenuBarItemv2](~/api/Terminal.Gui.Views.MenuBarItemv2.yml)

A [Shortcut](~/api/Terminal.Gui.Views.Shortcut.yml)-derived object to be used as items in a [MenuBarv2](~/api/Terminal.Gui.Views.MenuBarv2.yml). MenuBarItems hold a [MenuBarItemv2.PopoverMenu](~/api/Terminal.Gui.Views.MenuBarItemv2.PopoverMenu.yml) instead of a [MenuBarItemv2.SubMenu](~/api/Terminal.Gui.Views.MenuBarItemv2.SubMenu.yml).

```text
Shortcut  Shortcut help  F1
```

## [MenuBarv2](~/api/Terminal.Gui.Views.MenuBarv2.yml)

A horizontal list of [MenuBarItemv2](~/api/Terminal.Gui.Views.MenuBarItemv2.yml)s. Each [MenuBarItemv2](~/api/Terminal.Gui.Views.MenuBarItemv2.yml) can have a [PopoverMenu](~/api/Terminal.Gui.Views.PopoverMenu.yml) that is shown when the [MenuBarItemv2](~/api/Terminal.Gui.Views.MenuBarItemv2.yml) is selected.

```text
File  Edit  Help
```

## [MenuItemv2](~/api/Terminal.Gui.Views.MenuItemv2.yml)

A [Shortcut](~/api/Terminal.Gui.Views.Shortcut.yml)-derived object to be used as a menu item in a [Menuv2](~/api/Terminal.Gui.Views.Menuv2.yml). Has title, an A [Shortcut](~/api/Terminal.Gui.Views.Shortcut.yml)-derived object to be used as a menu item in a [Menuv2](~/api/Terminal.Gui.Views.Menuv2.yml). Has title, an associated help text, and an action to execute on activation.

```text
Shortcut  Shortcut help  F1
```

## [Menuv2](~/api/Terminal.Gui.Views.Menuv2.yml)

A [Bar](~/api/Terminal.Gui.Views.Bar.yml)-derived object to be used as a vertically-oriented menu. Each subview is a [MenuItemv2](~/api/Terminal.Gui.Views.MenuItemv2.yml).

```text
┌─────────────────────────┐
│ Quit       Quit  Ctrl+Z │
│ Help  Help Text      F1 │
│ ☐ Check   Czech      F9 │
└─────────────────────────┘
```

## [NumericUpDown](~/api/Terminal.Gui.Views.NumericUpDown.yml)

Enables the user to increase or decrease an int by clicking on the up or down buttons.

```text
▼0▲
```

## [NumericUpDown\<T\>](~/api/Terminal.Gui.Views.NumericUpDown-1.yml)

Enables the user to increase or decrease a value with the mouse or keyboard in type-safe way.



## [OpenDialog](~/api/Terminal.Gui.Views.OpenDialog.yml)

Provides an interactive [Dialog](~/api/Terminal.Gui.Views.Dialog.yml) for selecting files or directories for opening

```text
┏┥Open┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃C:\Users\Tig\s\gui-cs\Terminal.Gui\doc┃
┃⟦▲⟧                                   ┃
┃┌────────────────────┬───────────────┐┃
┃│Filename (▲)        │Size           │┃
┃├────────────────────┼───────────────►┃
┃│..                  │               │┃
┃│\_exported_templates│               │┃
┃│\_site              │               │┃
┃│\api                │               │┃
┃│\apispec            │               │┃
┃│\docs               │               │┃
┃│\images             │               │┃
┃Find                                  ┃
┃⟦►Tree⟧            ⟦► OK ◄⟧ ⟦ Cancel ⟧┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
```

## [OptionSelector](~/api/Terminal.Gui.Views.OptionSelector.yml)

Provides a user interface for displaying and selecting a single item from a list of options. Each option is represented by a checkbox, but only one can be selected at a time.

```text
◉ Option 1
○ Option 2
○ Third Option
○ Option Quattro
```

## [PopoverMenu](~/api/Terminal.Gui.Views.PopoverMenu.yml)

Provides a cascading menu that pops over all other content. Can be used as a context menu or a drop-down all other content. Can be used as a context menu or a drop-down menu as part of [MenuBarv2](~/api/Terminal.Gui.Views.MenuBarv2.yml) as part of [MenuBarv2](~/api/Terminal.Gui.Views.MenuBarv2.yml).



## [ProgressBar](~/api/Terminal.Gui.Views.ProgressBar.yml)

A Progress Bar view that can indicate progress of an activity visually.

```text
▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌▌
```

## [RadioGroup](~/api/Terminal.Gui.Views.RadioGroup.yml)

Displays a list of mutually-exclusive items. Each items can have its own hotkey.



## [SaveDialog](~/api/Terminal.Gui.Views.SaveDialog.yml)

Provides an interactive [Dialog](~/api/Terminal.Gui.Views.Dialog.yml) for selecting files or directories for saving

```text
┏┥Save┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃C:\Users\Tig\s\gui-cs\Terminal.Gui\doc┃
┃⟦▲⟧                                   ┃
┃┌────────────────────┬───────────────┐┃
┃│Filename (▲)        │Size           │┃
┃├────────────────────┼───────────────►┃
┃│..                  │               │┃
┃│\_exported_templates│               │┃
┃│\_site              │               │┃
┃│\api                │               │┃
┃│\apispec            │               │┃
┃│\docs               │               │┃
┃│\images             │               │┃
┃Find                                  ┃
┃⟦►Tree⟧          ⟦► Save ◄⟧ ⟦ Cancel ⟧┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
```

## [ScrollBar](~/api/Terminal.Gui.Views.ScrollBar.yml)

Indicates the size of scrollable content and controls the position of the visible content, either vertically or horizontally. Two [Button](~/api/Terminal.Gui.Views.Button.yml)s are provided, one to scroll up or left and one to scroll down or right. Between the buttons is a [ScrollSlider](~/api/Terminal.Gui.Views.ScrollSlider.yml) that can be dragged to control the position of the visible content. The ScrollSlier is sized to show the proportion of the scrollable content to the size of the [View.Viewport](~/api/Terminal.Gui.ViewBase.View.Viewport.yml).

```text
▲
█
░
░
░
░
░
░
░
░
░
░
░
░
░
░
░
░
░
▼
```

## [ScrollSlider](~/api/Terminal.Gui.Views.ScrollSlider.yml)

Represents the proportion of the visible content to the Viewport in a [ScrollBar](~/api/Terminal.Gui.Views.ScrollBar.yml). Can be dragged with the mouse, constrained by the size of the Viewport of it's superview. Can be oriented either vertically or horizontally.

```text
██████████████████████████████████████████████████
██████████████████████████████████████████████████
██████████████████████████████████████████████████
██████████████████████████████████████████████████
██████████████████████████████████████████████████
```

## [Shortcut](~/api/Terminal.Gui.Views.Shortcut.yml)

Displays a command, help text, and a key binding. When the key specified by [Shortcut.Key](~/api/Terminal.Gui.Views.Shortcut.Key.yml) is pressed, the command will be invoked. Useful for displaying a command in [Bar](~/api/Terminal.Gui.Views.Bar.yml) such as a menu, toolbar, or status bar.

```text
Shortcut  Shortcut help  F1
```

## [Slider](~/api/Terminal.Gui.Views.Slider.yml)

Provides a slider control letting the user navigate from a set of typed options in a linear manner using the keyboard or mouse.

```text
●
Demo Text
```

## [Slider\<T\>](~/api/Terminal.Gui.Views.Slider-1.yml)

Provides a tpe-safe slider control letting the user navigate from a set of typed options in a linear manner using the keyboard or mouse.



## [SpinnerView](~/api/Terminal.Gui.Views.SpinnerView.yml)

Displays a spinning glyph or combinations of glyphs to indicate progress or activity

```text
●∙∙
```

## [StatusBar](~/api/Terminal.Gui.Views.StatusBar.yml)

A status bar is a [View](~/api/Terminal.Gui.ViewBase.View.yml) that snaps to the bottom of a [Toplevel](~/api/Terminal.Gui.Views.Toplevel.yml) displaying set of [Shortcut](~/api/Terminal.Gui.Views.Shortcut.yml)s. The [StatusBar](~/api/Terminal.Gui.Views.StatusBar.yml) should be context sensitive. This means, if the main menu and an open text editor are visible, the items probably shown will be ~F1~ Help ~F2~ Save ~F3~ Load. While a dialog to ask a file to load is executed, the remaining commands will probably be ~F1~ Help. So for each context must be a new instance of a status bar.

```text
Ctrl+Z  Quit  Quit │ F1  Help Text  Help │ F10  ☐
```

## [Tab](~/api/Terminal.Gui.Views.Tab.yml)

A single tab in a [TabView](~/api/Terminal.Gui.Views.TabView.yml).

```text
╭┤Demo Title├────────────────────────────────────╮
│Demo Text                                       │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
╰────────────────────────────────────────────────╯
```

## [TableView](~/api/Terminal.Gui.Views.TableView.yml)

Displays and enables infinite scrolling through tabular data based on a [ITableSource](~/api/Terminal.Gui.Views.ITableSource.yml). See the TableView Deep Dive for more.

```text
┌──────────────────┬──────────────────────┬──────┐
│StrCol            │DateCol               │IntCol│
├──────────────────┼──────────────────────┼──────►
│Demo text in row 0│12/25/2000 12:00:00 AM│0     │
│Demo text in row 1│12/25/2001 12:00:00 AM│0     │
│Demo text in row 2│12/25/2002 12:00:00 AM│0     │
│Demo text in row 3│12/25/2003 12:00:00 AM│2     │
│Demo text in row 4│12/25/2004 12:00:00 AM│1     │
```

## [TabView](~/api/Terminal.Gui.Views.TabView.yml)

Control that hosts multiple sub views, presenting a single one at once.

```text
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
└────────────────────────────────────────────────┘
```

## [TextField](~/api/Terminal.Gui.Views.TextField.yml)

Single-line text editor.

```text
This is a test.
```

## [TextValidateField](~/api/Terminal.Gui.Views.TextValidateField.yml)

Masked text editor that validates input through a [ITextValidateProvider](~/api/Terminal.Gui.Views.ITextValidateProvider.yml)

```text
┌┤^([0-9]?[0-9]?[0-9]|1000)$├────────────────────┐
│999                                             │
└────────────────────────────────────────────────┘
```

## [TextView](~/api/Terminal.Gui.Views.TextView.yml)

Fully featured multi-line text editor

```text
TextView provides a fully featured multi-line text
It supports word wrap and history for undo.
```

## [TileView](~/api/Terminal.Gui.Views.TileView.yml)

A [View](~/api/Terminal.Gui.ViewBase.View.yml) consisting of a moveable bar that divides the display area into resizeable [TileView.Tiles](~/api/Terminal.Gui.Views.TileView.Tiles.yml).



## [TimeField](~/api/Terminal.Gui.Views.TimeField.yml)

Provides time editing functionality with mouse support

```text
02:48:05
```

## [Toplevel](~/api/Terminal.Gui.Views.Toplevel.yml)

Toplevel views are used for both an application's main view (filling the entire screen and for modal (pop-up) views such as [Dialog](~/api/Terminal.Gui.Views.Dialog.yml), [MessageBox](~/api/Terminal.Gui.Views.MessageBox.yml), and [Wizard](~/api/Terminal.Gui.Views.Wizard.yml)).

```text
Demo Text
```

## [TreeView](~/api/Terminal.Gui.Views.TreeView.yml)

Convenience implementation of generic [TreeView%601](~/api/Terminal.Gui.Views.TreeView%601.yml) for any tree were all nodes implement [ITreeNode](~/api/Terminal.Gui.Views.ITreeNode.yml). See TreeView Deep Dive for more information.

```text
├-Root1
│ ├─Child1.1
│ └─Child1.2
└-Root2
  ├─Child2.1
  └─Child2.2
```

## [TreeView\<T\>](~/api/Terminal.Gui.Views.TreeView-1.yml)

Hierarchical tree view with expandable branches. Branch objects are dynamically determined when expanded using a user defined [ITreeBuilder%601](~/api/Terminal.Gui.Views.ITreeBuilder%601.yml). See TreeView Deep Dive for more information.



## [Window](~/api/Terminal.Gui.Views.Window.yml)

An overlapped container for other views with a border and optional title.

```text
┌┤Demo Title├────────────────────────────────────┐
│Demo Text                                       │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
│                                                │
└────────────────────────────────────────────────┘
```

## [Wizard](~/api/Terminal.Gui.Views.Wizard.yml)

Provides navigation and a user interface (UI) to collect related data across multiple steps. Each step ( [WizardStep](~/api/Terminal.Gui.Views.WizardStep.yml)) can host arbitrary [View](~/api/Terminal.Gui.ViewBase.View.yml)s, much like a [Dialog](~/api/Terminal.Gui.Views.Dialog.yml). Each step also has a pane for help text. Along the bottom of the Wizard view are customizable buttons enabling the user to navigate forward and backward through the Wizard.

```text
╔╡Demo Title╞════════════════════════════╗
║Demo Text                               ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
║                                        ║
╟────────────────────────────────────────╢
║⟦ Back ⟧                    ⟦► Finish ◄⟧║
╚════════════════════════════════════════╝
```

## [WizardStep](~/api/Terminal.Gui.Views.WizardStep.yml)

Represents a basic step that is displayed in a [Wizard](~/api/Terminal.Gui.Views.Wizard.yml). The [WizardStep](~/api/Terminal.Gui.Views.WizardStep.yml) view is divided horizontally in two. On the left is the content view where [View](~/api/Terminal.Gui.ViewBase.View.yml)s can be added, On the right is the help for the step. Set [WizardStep.HelpText](~/api/Terminal.Gui.Views.WizardStep.HelpText.yml) to set the help text. If the help text is empty the help pane will not be shown. If there are no Views added to the WizardStep the [WizardStep.HelpText](~/api/Terminal.Gui.Views.WizardStep.HelpText.yml) (if not empty) will fill the wizard step.


