Controls
Eto.Forms comes with a standard set of built-in controls that work across all supported platforms. Controls can be subclassed to override or implement behaviour. Each control has an implementation for each supported platform, which can be customized or replaced entirely if a particular implementation is not suitable for your use.
Custom controls can either be composed entirely of Eto.Forms controls, which would work across all platforms. If you wish to create a more complex control, or use functionality of a platform that isn’t exposed in Eto.Forms, then you can create your own custom controls with implementations for each platform (see Custom Platform Controls).
The standard controls are:
- Button - Standard button with text
- Calendar - Calendar control to pick a date or range of dates
- CheckBox - Check box with a label
- ColorPicker - Pick a single color value
- ComboBox - Text entry with a drop down list of items
- DateTimePicker - Control to enter a date and/or time
- Drawable - Owner-drawn control using Graphics object
- DropDown - Drop down with a list of items
- EnumDropDown - A simple way to create a drop down with values from an Enumeration
- EnumRadioButtonList - Manages a list of radio buttons from an Enumeration
- GridView - A virtualized grid of data with editable cells
- GroupBox - A panel with a border and optional title
- ImageView - A view to display a single image
- Label - Displays text
- LinkButton - A simple label that acts like a button, similar to a hyperlink
- ListBox - A scrollable list of items
- ListControl - Base for ListBox, DropDown, ComboBox, and other list-type controls
- MaskedTextBox - TextBox for variable or fixed length masks
- NumericUpDown - Numeric control that allows the user to adjust the value with the mouse
- Panel - A blank panel container to add other controls
- PasswordBox - Enter passwords or sensitive data
- ProgressBar - Show progress of long running tasks
- RadioButton - Used in a group of radio buttons to allow user to select from values
- RadioButtonList - Manages a list of radio buttons
- RichTextArea - Multi-line text area with rich text formatting
- Scrollable - A scrollable container
- SearchBox - A text box with search-box functionality
- Slider - A horizontal or vertical slider to select a value from a range
- Spinner - A spinner to show indeterminate progress in compact space
- Splitter - Splits two panes horizontally or vertically
- TabControl - Presents multiple TabPage containers which the user can select
- TabPage - A single page of a TabControl
- TextArea - Multi-line text control with scrollbars
- TextBox - Single line text input
- TextControl - Base for any control that contains text
- TreeView - A control to present nodes in a tree
- TreeGridView - A TreeView with columns
- WebView - Control to present a web page through a url or static HTML
Containers
Container controls act as a control and can be added as a child to any other container. The layout controls supported are:
- Panel - Controls that subclass
Panel, such asWindow,GroupBox,Scrollable, etc allow you to specify a single child Content control - TableLayout - Similar to how an HTML table works, with a single control per cell
- PixelLayout - Specify X,Y co-ordinates for the position of each control (from Upper-Left)
- DynamicLayout - Dynamic hierarchical horizontal and vertical layout
- StackLayout - Horizontal or Vertical list of controls
Containers are implemented so that you do not need to specify a size for the container (although you can if you want). This allows containers to automatically size to fit the child controls, which works nicely across different platforms.
For example, if you created a Dialog or Form and didn’t specify any sizes for any controls, it should automatically size to fit its contents.
Windows
- Form - A modeless window
- Dialog - A modal dialog with no result value
- Dialog<T> - A modal dialog with a custom result value
Dialogs
- ColorDialog - Select a color
- FontDialog - Choose a font and style
- OpenFileDialog - Open an existing file or files matching a set of patterns
- SaveFileDialog - Choose a file and format to save to
- SelectFolderDialog - Select a folder
- MessageBox - Show a standard message box with specific buttons