Table of Contents

Terminal.Gui provides a rich set of views and controls for building terminal user interfaces:

These are the v1 API docs. The v2 API docs are here.

  • Button - A View that provides an item that invokes an System.Action when activated by the user.
  • CheckBox - Shows an on/off toggle that the user can set.
  • ColorPicker - Enables to user to pick a color.
  • ComboBox - Provides a drop-down list of items the user can select from.
  • Dialog - A pop-up Window that contains one or more Buttons.
    • OpenDialog - A Dialog providing an interactive pop-up Window for users to select files or directories.
    • SaveDialog - A Dialog providing an interactive pop-up Window for users to save files.
  • FrameView - A container View that draws a frame around its contents. Similar to a GroupBox in Windows.
  • GraphView - A View for rendering graphs (bar, scatter etc).
  • Hex viewer/editor - A hex viewer and editor that operates over a file stream.
  • Label - Displays a string at a given position and supports multiple lines.
  • ListView - Displays a scrollable list of data where each item can be activated to perform an action.
  • MenuBar - Provides a menu bar with drop-down and cascading menus.
  • MessageBox - Displays a modal (pup-up) message to the user, with a title, a message and a series of options that the user can choose from.
  • ProgressBar - Displays a progress Bar indicating progress of an activity.
  • RadioGroup - Displays a group of labels each with a selected indicator. Only one of those can be selected at a given time
  • ScrollView - Present a window into a virtual space where subviews are added. Similar to the iOS UIScrollView.
  • ScrollBarView - display a 1-character scrollbar, either horizontal or vertical.
  • StatusBar - A View that snaps to the bottom of a Toplevel displaying set of status items. Includes support for global app keyboard shortcuts.
  • TableView - A View for tabular data based on a System.Data.DataTable.
  • TimeField & DateField - Enables structured editing of dates and times.
  • TextField - Provides a single-line text entry.
  • TextValidateField - Text field that validates input through a ITextValidateProvider.
  • TextView- A multi-line text editing View supporting word-wrap, auto-complete, context menus, undo/redo, and clipboard operations,
  • TopLevel - The base class for modal/pop-up Windows.
  • TreeView - A hierarchical tree view with expandable branches. Branch objects are dynamically determined when expanded using a user defined ITreeBuilder.
  • View - The base class for all views on the screen and represents a visible element that can render itself and contains zero or more nested views.
  • Window - A Toplevel view that draws a border around its Frame with a title at the top.
  • Wizard - Provides navigation and a user interface to collect related data across multiple steps.