xtd - Reference Guide  0.1.0
Modern c++17 framework to create console, gui and unit test applications on Windows, macOS and Linux.
xtd::forms Namespace Reference

The xtd::forms namespace contains classes for creating Windows-based applications that take full advantage of the rich user interface features available in the Microsoft Windows operating system, Apple macOS and Linux like Ubuntu operating system. More...

Namespaces

 layout
 The xtd::forms::layout namespace contains classes for implementing layout behaviors in your form or control.
 
 properties
 The xtd::forms namespace contains classes for creating Windows-based applications that take full advantage of the rich user interface features available in the Microsoft Windows operating system, Apple macOS and Linux like Ubuntu operating system.
 
 visual_styles
 The xtd::forms::visual_styles namespace contains classes for rendering controls and other windows user interface (UI) elements with visual styles in operating systems that support them.
 

Classes

class  about_dialog
 Represents a common dialog box that displays about box. More...
 
class  application
 Provides static methods and properties to manage an application, such as methods to start and stop an application, to process Windows messages, and methods to get information about an application. This class cannot be inherited. More...
 
class  application_context
 Specifies the contextual information about an application thread. More...
 
class  application_informations
 Specifies the application informations. More...
 
class  background_worker
 Executes an operation on a separate thread. More...
 
class  busy_box
 
class  busy_dialog
 Represents a common dialog box that displays busy box. More...
 
class  button
 Represents a Windows button control. More...
 
class  button_base
 Implements the basic functionality common to button controls. More...
 
class  button_images
 
class  button_renderer
 
class  buttons
 Provides a collection of button objects for use by a Windows Forms application. More...
 
class  cancel_event_args
 Provides data for a cancelable event. More...
 
class  check_box
 Represents a Windows check_box. More...
 
class  check_box_renderer
 
class  check_boxes
 Provides a collection of check_box objects for use by a Windows Forms application. More...
 
class  checked_list_box
 Displays a list_box in which a check box is displayed to the left of each item. More...
 
class  choice
 Represents a choice control. More...
 
class  collapsible_panel
 
class  color_dialog
 Represents a common dialog box that displays available colors along with controls that enable the user to define custom colors. More...
 
class  color_picker
 
class  combo_box
 Represents a Windows combo box control. More...
 
class  command_link_button
 
class  common_dialog
 Specifies the base class used for displaying dialog boxes on the screen. More...
 
class  common_dialog_closed_event_args
 
class  component
 Provides the base implementation and enables object sharing between applications. More...
 
class  container_control
 Provides focus-management functionality for controls that can function as a container for other controls. More...
 
class  context_menu
 
class  control
 Defines the base class for controls, which are components with visual representation. More...
 
class  control_event_args
 Provides data for the control_added and control_removed events. More...
 
class  control_paint
 Provides methods used to paint common Windows controls and their elements. This class cannot be inherited. More...
 
class  control_trace_listener
 
class  cursor
 Represents the image used to paint the mouse pointer. More...
 
class  cursors
 Provides a collection of Cursor objects for use by a Windows Forms application. More...
 
class  date_time_picker
 
class  debug_form
 
class  do_work_event_args
 Provides data for the do_work event handler. More...
 
class  domain_up_down
 
class  dot_matrix_display
 represent a dot matrix display class More...
 
class  emoticon
 
class  emoticons
 
class  enable_debug
 
class  exception_dialog
 Represents a common dialog box that displays exception box. More...
 
class  file_dialog
 Displays a dialog box from which the user can select a file. More...
 
class  folder_browser_dialog
 
class  font_dialog
 Prompts the user to choose a font from among those installed on the local computer. More...
 
class  font_picker
 
class  form
 Represents a window or dialog box that makes up an application's user interface. More...
 
class  form_button_images
 
class  form_closed_event_args
 
class  form_closing_event_args
 
class  fourteen_segment_display
 represent a nine segment display class More...
 
class  group_box
 
class  help_event_args
 Provides data for the control_added and control_removed events. More...
 
class  ibutton_control
 Allows a control to act like a button on a form. More...
 
class  icontrol_trace
 
class  image_list
 
class  imessage_filter
 Defines a message filter interface. More...
 
class  input_box
 
class  input_dialog
 Represents a common dialog box that displays input box. More...
 
class  item_check_event_args
 Provides data for the item_check event of the checked_list_box and list_view controls. More...
 
class  iwin32_window
 Provides an interface to expose Win32 HWND handles. More...
 
class  key_event_args
 
class  key_press_event_args
 
class  label
 
class  lcd_label
 
class  list_box
 
class  list_control
 Provides a common implementation of members for the list_box and combo_box classes. More...
 
class  main_menu
 
class  menu
 Represents the base functionality for all menus. Although tool_strip_drop_down and tool_strip_drop_down_menu replace and add functionality to the menu control of previous versions, menu is retained for both backward compatibility and future use if you choose. More...
 
class  menu_images
 
class  menu_item
 
class  message
 
class  message_box
 
class  message_dialog
 Represents a common dialog box that displays message box. More...
 
class  message_dialog_closed_event_args
 
class  mouse_event_args
 
class  nine_segment_display
 represent a nine segment display class More...
 
class  numeric_up_down
 
class  open_file_dialog
 
class  padding
 Represents a display device or multiple display devices on a single system. More...
 
class  paint_event_args
 
class  panel
 
class  picture_box
 
class  progress_bar
 Represents a Windows progress bar control. More...
 
class  progress_changed_event_args
 Provides data for the do_work event handler. More...
 
class  progress_dialog
 Represents a common dialog box that displays progress box. More...
 
class  radio_button
 Enables the user to select a single option from a group of choices when paired with other radio_button controls. More...
 
class  radio_button_renderer
 
class  radio_buttons
 Provides a collection of radio_button objects for use by a Windows Forms application. More...
 
class  renderer
 
class  run_worker_completed_event_args
 Provides data for the do_work event handler. More...
 
class  save_file_dialog
 
class  screen
 Represents a display device or multiple display devices on a single system. More...
 
class  scroll_bar
 
class  scrollable_control
 
class  settings
 Represent settings associate to the application. More...
 
class  seven_segment_display
 represent a seven segment display class More...
 
class  sixteen_segment_display
 represent a nine segment display class More...
 
class  split_container
 
class  splitter
 
class  splitter_panel
 
class  switch_button
 
class  system_information
 Provides information about the current system environment. More...
 
class  tab_control
 
class  tab_page
 
class  text_box
 
class  text_box_base
 
class  texts
 Provides a collection of string objects for use by a Windows Forms application. More...
 
class  theme
 
class  theme_base
 
class  theme_colors
 
class  theme_images
 
class  theme_renderers
 
class  timer
 
class  toggle_button
 Represents a Windows toggle_button. More...
 
class  tool_bar_images
 
class  trace_form
 
class  trace_form_base
 
class  track_bar
 Represents a standard Windows track bar. More...
 
class  up_down_base
 
class  up_down_button
 
class  use_wait_cursor
 
class  user_control
 

Typedefs

template<typename type_t >
using cancel_event_handler = delegate< void(type_t sender, cancel_event_args &e)>
 Represents the method that handles a cancelable event. More...
 
template<typename type_t >
using common_dialog_closed_event_handler = delegate< void(type_t, const common_dialog_closed_event_args &e)>
 
template<typename type_t >
using control_event_handler = delegate< void(type_t sender, const control_event_args &e)>
 Represents the method that will handle the control_added and control_removed events of the control class. More...
 
using control_ref = std::reference_wrapper< control >
 Represents a control reference. More...
 
template<typename type_t >
using do_work_event_handler = delegate< void(type_t sender, do_work_event_args &e)>
 Represents the method that will handle the do_work event. This class cannot be inherited. More...
 
template<typename type_t >
using form_closed_event_handler = delegate< void(type_t sender, const form_closed_event_args &e)>
 Represents the method that handles a form_closed event. More...
 
template<typename type_t >
using form_closing_event_handler = delegate< void(type_t, form_closing_event_args &)>
 
using form_collection = std::vector< std::reference_wrapper< form >>
 Represents a collection of form objects. More...
 
template<typename type_t >
using help_event_handler = delegate< void(type_t sender, help_event_args &e)>
 Represents the method that will handle the help_requested event of a control. More...
 
template<typename type_t >
using item_check_event_handler = delegate< void(type_t sender, item_check_event_args &e)>
 Represents the method that will handle the ItemCheck event of a CheckedListBox or ListView control. More...
 
template<typename type_t >
using key_event_handler = delegate< void(type_t, key_event_args &)>
 
template<typename type_t >
using key_press_event_handler = delegate< void(type_t, key_press_event_args &)>
 
using message_box_buttons = message_dialog_buttons
 Specifies constants defining which buttons to display on a message_box. More...
 
using message_box_default_button = message_dialog_default_button
 Specifies constants defining the default button on a message_box. More...
 
using message_box_icon = message_dialog_icon
 Specifies constants defining which information to display. More...
 
using message_box_options = message_dialog_options
 Specifies options on a message_box. More...
 
template<typename type_t >
using message_dialog_closed_event_handler = delegate< void(type_t, const message_dialog_closed_event_args &e)>
 
using message_loop_callback = delegate< bool()>
 Represents a method that will check whether the hosting environment is still sending messages. More...
 
template<typename type_t >
using mouse_event_handler = delegate< void(type_t, const mouse_event_args &)>
 
template<typename type_t >
using paint_event_handler = delegate< void(type_t, paint_event_args &)>
 
template<typename type_t >
using progress_changed_event_handler = delegate< void(type_t sender, const progress_changed_event_args &e)>
 Represents the method that will handle the do_work event. This class cannot be inherited. More...
 
template<typename type_t >
using run_worker_completed_event_handler = delegate< void(type_t sender, const run_worker_completed_event_args &e)>
 Represents the method that will handle the do_work event. This class cannot be inherited. More...
 

Enumerations

enum  anchor_styles {
  anchor_styles::none = 0b0, anchor_styles::top = 0b1, anchor_styles::bottom = 0b10, anchor_styles::left = 0b100,
  anchor_styles::right = 0b1000
}
 Specifies how a control anchors to the edges of its container. More...
 
enum  appearance { appearance::normal = 0, appearance::button = 1, appearance::switch_button = 2 }
 Specifies the appearance of a control. More...
 
enum  arrange_direction { arrange_direction::down = 0x0004, arrange_direction::left = 0x0000, arrange_direction::right = 0x0000, arrange_direction::up = 0x0004 }
 Specifies the direction the system uses to arrange minimized windows. More...
 
enum  arrange_starting_position {
  arrange_starting_position::bottom_left = 0, arrange_starting_position::bottom_right = 1, arrange_starting_position::top_left = 2, arrange_starting_position::top_right = 3,
  arrange_starting_position::hide = 8
}
 Specifies the starting position that the system uses to arrange minimized windows. More...
 
enum  auto_size_mode { auto_size_mode::grow_and_shrink = 0, auto_size_mode::grow_only = 1 }
 Specifies how a control will behave when its auto_size property is enabled. More...
 
enum  boot_mode { boot_mode::normal = 0, boot_mode::fail_safe = 1, boot_mode::fail_safe_with_network = 2 }
 Specifies the mode to start the computer in. More...
 
enum  border_style { border_style::none = 0, border_style::fixed_single = 1, border_style::fixed_3d = 2 }
 Specifies the border style for a control. More...
 
enum  bounds_specified {
  bounds_specified::none = 0, bounds_specified::x = 0b1, bounds_specified::y = 0b10, bounds_specified::location = 0b11,
  bounds_specified::width = 0b100, bounds_specified::height = 0b1000, bounds_specified::size = 0b1100, bounds_specified::all = 0b1111
}
 Specifies the bounds of the control to use when defining a control's size and position. This enumeration has a flags attribute that allows a bitwise combination of its member values. More...
 
enum  character_casing { normal = 0, upper = 1, lower = 2 }
 
enum  check_state { check_state::unchecked = 0, check_state::checked = 1, check_state::indeterminate = 2 }
 Specifies the state of a control, such as a check box, that can be checked, unchecked, or set to an indeterminate state. More...
 
enum  close_reason {
  close_reason::none = 0, close_reason::windows_shut_down = 1, close_reason::mdi_form_closing = 2, close_reason::user_closing = 3,
  close_reason::task_manager_closing = 4, close_reason::form_owner_closing = 5, close_reason::application_exit_call = 6
}
 Specifies the reason that a form was closed. More...
 
enum  combo_box_style { combo_box_style::simple = 1, combo_box_style::drop_down = 2, combo_box_style::drop_down_list = 3 }
 Specifies the combo_box style. More...
 
enum  content_alignment {
  content_alignment::top_left = 0b1, content_alignment::top_center = 0b10, content_alignment::top_right = 0b100, content_alignment::middle_left = 0b10000,
  content_alignment::middle_center = 0b100000, content_alignment::middle_right = 0b1000000, content_alignment::bottom_left = 0b100000000, content_alignment::bottom_center = 0b1000000000,
  content_alignment::bottom_right = 0b10000000000
}
 Specifies alignment of content on the drawing surface. More...
 
enum  control_styles {
  control_styles::none = 0, control_styles::container_control = 0b1, control_styles::user_paint = 0b10, control_styles::opaque = 0b100,
  control_styles::resize_redraw = 0b10000, control_styles::fixed_width = 0b100000, control_styles::fixed_height = 0b1000000, control_styles::standard_click = 0b100000000,
  control_styles::selectable = 0b1000000000, control_styles::user_mouse = 0b10000000000, control_styles::supports_transparent_back_color = 0b100000000000, control_styles::standard_double_click = 0b1000000000000,
  control_styles::all_painting_in_wm_paint = 0b10000000000000, control_styles::cache_text = 0b100000000000000, control_styles::enable_notify_message = 0b1000000000000000, control_styles::double_buffer = 0b10000000000000000,
  control_styles::optimized_double_buffer = 0b100000000000000000, control_styles::use_text_for_accessibility = 0b1000000000000000000
}
 Specifies the style and behavior of a control. More...
 
enum  date_time_picker_format { date_time_picker_format::long_format = 1, date_time_picker_format::short_format = 2, date_time_picker_format::time = 4, date_time_picker_format::custom = 8 }
 Specifies the date and time format the date_time_picker control displays. More...
 
enum  dialog_result {
  dialog_result::none = 0, dialog_result::ok = 1, dialog_result::cancel = 2, dialog_result::abort = 3,
  dialog_result::retry = 4, dialog_result::ignore = 5, dialog_result::yes = 6, dialog_result::no = 7
}
 Specifies identifiers to indicate the return value of a dialog box. More...
 
enum  dialog_style { standard = 0, system = 1 }
 
enum  dock_style {
  dock_style::none = 0, dock_style::top = 1, dock_style::bottom = 2, dock_style::left = 3,
  dock_style::right = 4, dock_style::fill = 5
}
 Specifies the position and manner in which a control is docked. More...
 
enum  dot_matrix_style { standard, square }
 
enum  flat_style { flat_style::flat = 0, flat_style::popup, flat_style::standard, flat_style::system }
 Specifies the appearance of a control. More...
 
enum  form_border_style {
  form_border_style::none = 0, form_border_style::fixed_single = 1, form_border_style::fixed_3d = 2, form_border_style::fixed_dialog = 3,
  form_border_style::sizable = 4, form_border_style::fixed_tool_window = 5, form_border_style::sizable_tool_window = 6
}
 Specifies the border styles for a form. More...
 
enum  form_start_position {
  form_start_position::manual = 0, form_start_position::center_screen = 1, form_start_position::windows_default_location = 2, form_start_position::windows_default_bounds = 3,
  form_start_position::center_parent = 4
}
 Specifies the initial position of a form. More...
 
enum  form_window_state { form_window_state::normal = 0, form_window_state::minimized = 1, form_window_state::maximized = 2, form_window_state::full_screen = 3 }
 Specifies how a form window is displayed. More...
 
enum  input_box_style { normal, multiline, password }
 Specifies constants defining which input_box style is used. More...
 
enum  keys : long long {
  keys::none = 0x00000000, keys::lbutton = 0x00000001, keys::rbutton = 0x00000002, keys::cancel = 0x00000003,
  keys::mbutton = 0x00000004, keys::xbutton1 = 0x00000005, keys::xbutton2 = 0x00000006, keys::back = 0x00000008,
  keys::tab = 0x00000009, keys::line_feed = 0x0000000A, keys::clear = 0x0000000C, keys::ret = 0x0000000D,
  keys::enter = 0x0000000D, keys::shift_key = 0x00000010, keys::control_key = 0x00000011, keys::menu = 0x00000012,
  keys::pause = 0x00000013, keys::caps_lock = 0x00000014, keys::capital = 0x00000014, keys::kana_mode = 0x00000015,
  keys::hanguel_mode = 0x00000015, keys::hangul_mode = 0x00000015, keys::junja_mode = 0x00000017, keys::final_mode = 0x00000018,
  keys::kanji_mode = 0x00000019, keys::hanja_mode = 0x00000019, keys::escape = 0x0000001B, keys::ime_convert = 0x0000001C,
  keys::ime_nonconvert = 0x0000001D, keys::ime_accept = 0x0000001E, keys::ime_mode_change = 0x0000001F, keys::space = 0x00000020,
  keys::page_up = 0x00000021, keys::prior = 0x00000021, keys::page_down = 0x00000022, keys::next = 0x00000022,
  keys::end = 0x00000023, keys::home = 0x00000024, keys::left = 0x00000025, keys::up = 0x00000026,
  keys::right = 0x00000027, keys::down = 0x00000028, keys::select = 0x00000029, keys::print = 0x0000002A,
  keys::execute = 0x0000002B, keys::print_screen = 0x0000002C, keys::snapshot = 0x0000002C, keys::insert = 0x0000002D,
  keys::del = 0x0000002E, keys::help = 0x0000002F, keys::d0 = 0x00000030, keys::d1 = 0x00000031,
  keys::d2 = 0x00000032, keys::d3 = 0x00000033, keys::d4 = 0x00000034, keys::d5 = 0x00000035,
  keys::d6 = 0x00000036, keys::d7 = 0x00000037, keys::d8 = 0x00000038, keys::d9 = 0x00000039,
  keys::a = 0x00000041, keys::b = 0x00000042, keys::c = 0x00000043, keys::d = 0x00000044,
  keys::e = 0x00000045, keys::f = 0x00000046, keys::g = 0x00000047, keys::h = 0x00000048,
  keys::i = 0x00000049, keys::j = 0x0000004A, keys::k = 0x0000004B, keys::l = 0x0000004C,
  keys::m = 0x0000004D, keys::n = 0x0000004E, keys::o = 0x0000004F, keys::p = 0x00000050,
  keys::q = 0x00000051, keys::r = 0x00000052, keys::s = 0x00000053, keys::t = 0x00000054,
  keys::u = 0x00000055, keys::v = 0x00000056, keys::w = 0x00000057, keys::x = 0x00000058,
  keys::y = 0x00000059, keys::z = 0x0000005A, keys::lwin = 0x0000005B, keys::rwin = 0x0000005C,
  keys::apps = 0x0000005D, keys::sleep = 0x0000005F, keys::num_pad0 = 0x00000060, keys::num_pad1 = 0x00000061,
  keys::num_pad2 = 0x00000062, keys::num_pad3 = 0x00000063, keys::num_pad4 = 0x00000064, keys::num_pad5 = 0x00000065,
  keys::num_pad6 = 0x00000066, keys::num_pad7 = 0x00000067, keys::num_pad8 = 0x00000068, keys::num_pad9 = 0x00000069,
  keys::multiply = 0x0000006A, keys::add = 0x0000006B, keys::separator = 0x0000006C, keys::subtract = 0x0000006D,
  keys::decimal = 0x0000006E, keys::divide = 0x0000006F, keys::f1 = 0x00000070, keys::f2 = 0x00000071,
  keys::f3 = 0x00000072, keys::f4 = 0x00000073, keys::f5 = 0x00000074, keys::f6 = 0x00000075,
  keys::f7 = 0x00000076, keys::f8 = 0x00000077, keys::f9 = 0x00000078, keys::f10 = 0x00000079,
  keys::f11 = 0x0000007A, keys::f12 = 0x0000007B, keys::f13 = 0x0000007C, keys::f14 = 0x0000007D,
  keys::f15 = 0x0000007E, keys::f16 = 0x0000007F, keys::f17 = 0x00000080, keys::f18 = 0x00000081,
  keys::f19 = 0x00000082, keys::f20 = 0x00000083, keys::f21 = 0x00000084, keys::f22 = 0x00000085,
  keys::f23 = 0x00000086, keys::f24 = 0x00000087, keys::num_lock = 0x00000090, keys::scroll = 0x00000091,
  keys::lshift_key = 0x000000A0, keys::rshift_key = 0x000000A1, keys::lcontrol_key = 0x000000A2, keys::rcontrol_key = 0x000000A3,
  keys::lmenu = 0x000000A4, keys::rmenu = 0x000000A5, keys::browser_back = 0x000000A6, keys::browser_forward = 0x000000A7,
  keys::browser_refresh = 0x000000A8, keys::browser_stop = 0x000000A9, keys::browser_search = 0x000000AA, keys::browser_favorites = 0x000000AB,
  keys::browser_home = 0x000000AC, keys::volume_mute = 0x000000AD, keys::volume_down = 0x000000AE, keys::volume_up = 0x000000AF,
  keys::media_next_track = 0x000000B0, keys::media_previous_track = 0x000000B1, keys::media_stop = 0x000000B2, keys::media_play_pause = 0x000000B3,
  keys::launch_mail = 0x000000B4, keys::select_media = 0x000000B5, keys::launch_application1 = 0x000000B6, keys::launch_application2 = 0x000000B7,
  keys::oem1 = 0x000000BA, keys::oem_semicolon = 0x000000BA, keys::oem_plus = 0x000000BB, keys::oem_comma = 0x000000BC,
  keys::oem_minus = 0x000000BD, keys::oem_period = 0x000000BE, keys::oem2 = 0x000000BF, keys::oem_question = 0x000000BF,
  keys::oem3 = 0x000000C0, keys::oem_tilde = 0x000000C1, keys::oem4 = 0x000000DB, keys::oem_open_brackets = 0x000000DB,
  keys::oem5 = 0x000000DC, keys::oem_pipe = 0x000000DC, keys::oem6 = 0x000000DD, keys::oem_close_brackets = 0x000000DD,
  keys::oem7 = 0x000000DE, keys::oem_quotes = 0x000000DE, keys::oem8 = 0x000000DF, keys::oem102 = 0x000000DF,
  keys::oem_backslash = 0x000000DF, keys::process_key = 0x000000E5, keys::packet = 0x000000E7, keys::attn = 0x000000F6,
  keys::crsel = 0x000000F7, keys::exsel = 0x000000F8, keys::erase_eof = 0x000000F9, keys::play = 0x000000FA,
  keys::zoom = 0x000000FB, keys::no_name = 0x000000FC, keys::pa1 = 0x000000FD, keys::oem_clear = 0x000000FE,
  keys::command_key = 0x00000100, keys::lcommand_key = 0x00000101, keys::rcommand_key = 0x00000102, keys::function_key = 0x00000104,
  keys::shift = 0x00010000, keys::control = 0x00020000, keys::alt = 0x00040000, keys::command = 0x00080000,
  keys::meta = 0x00100000, keys::function = 0x00200000, keys::key_code = 0x0000FFFF, keys::modifiers = 0xFFFF0000
}
 Specifies key codes and modifiers. More...
 
enum  known_themed_color {
  known_themed_color::accent = 1, known_themed_color::accent_text, known_themed_color::active_border, known_themed_color::active_caption,
  known_themed_color::active_caption_text, known_themed_color::app_workspace, known_themed_color::button_face, known_themed_color::button_highlight,
  known_themed_color::button_shadow, known_themed_color::control, known_themed_color::control_dark, known_themed_color::control_dark_dark,
  known_themed_color::control_light, known_themed_color::control_light_light, known_themed_color::control_text, known_themed_color::desktop,
  known_themed_color::gradient_active_caption, known_themed_color::gradient_inactive_caption, known_themed_color::gray_text, known_themed_color::highlight,
  known_themed_color::highlight_text, known_themed_color::hot_track, known_themed_color::inactive_border, known_themed_color::inactive_caption,
  known_themed_color::inactive_caption_text, known_themed_color::info, known_themed_color::info_text, known_themed_color::menu,
  known_themed_color::menu_bar, known_themed_color::menu_highlight, known_themed_color::menu_text, known_themed_color::scroll_bar,
  known_themed_color::text_box, known_themed_color::text_box_text, known_themed_color::window, known_themed_color::window_frame,
  known_themed_color::window_text
}
 Specifies the known system colors. More...
 
enum  lcd_style {
  seven_segment_display, nine_segment_display, fourteen_segment_display, sixteen_segment_display,
  dot_matrix_display
}
 
enum  menu_item_kind {
  normal = 0, check = 1, radio = 2, drop_down = 3,
  separator = 4
}
 
enum  message_dialog_buttons {
  message_dialog_buttons::ok = 0, message_dialog_buttons::ok_cancel = 1, message_dialog_buttons::abort_retry_ignore = 2, message_dialog_buttons::yes_no_cancel = 3,
  message_dialog_buttons::yes_no = 4, message_dialog_buttons::retry_cancel = 5
}
 Specifies constants defining which buttons to display on a message_box. More...
 
enum  message_dialog_default_button { message_dialog_default_button::button1 = 0, message_dialog_default_button::button2 = 0x00000100L, message_dialog_default_button::button3 = 0x00000200L }
 Specifies constants defining the default button on a message_box. More...
 
enum  message_dialog_icon {
  message_dialog_icon::none = 0, message_dialog_icon::hand = 0x00000010L, message_dialog_icon::stop = 0x00000010L, message_dialog_icon::error = 0x00000010L,
  message_dialog_icon::question = 0x00000020L, message_dialog_icon::exclamation = 0x00000030L, message_dialog_icon::warning = 0x00000030L, message_dialog_icon::asterisk = 0x00000040L,
  message_dialog_icon::information = 0x00000040L
}
 Specifies constants defining which information to display. More...
 
enum  message_dialog_options { message_dialog_options::default_desktop_only = 0x00020000L, message_dialog_options::right_align = 0x00080000L, message_dialog_options::rtl_reading = 0x00100000L, message_dialog_options::service_notification = 0x00200000L }
 Specifies options on a message_box. More...
 
enum  mouse_buttons {
  mouse_buttons::none = 0, mouse_buttons::left = 0x100000, mouse_buttons::right = 0x200000, mouse_buttons::middle = 0x400000,
  mouse_buttons::x_button1 = 0x800000, mouse_buttons::x_button2 = 0x1000000
}
 Specifies constants that define which mouse button was pressed. This enumeration has a flag attribute that allows a bitwise combination of its member values. More...
 
enum  orientation { orientation::horzontal = 0, orientation::vertical = 1 }
 Specifies the orientation of controls or elements of controls. More...
 
enum  picture_box_size_mode {
  picture_box_size_mode::normal = 0, picture_box_size_mode::stretch_image = 1, picture_box_size_mode::auto_size = 2, picture_box_size_mode::center_image = 3,
  picture_box_size_mode::zoom = 4
}
 Specifies how an image is positioned within a picture_box. More...
 
enum  progress_bar_style { progress_bar_style::blocks = 0, progress_bar_style::continuous = 1, progress_bar_style::marquee = 2 }
 Specifies the progress_bar_style of controls or elements of controls. More...
 
enum  segment_style {
  standard, modern, mixed, expanded,
  design, stick
}
 
enum  segments {
  segments::none = 0, segments::a = 0b1, segments::b = 0b10, segments::c = 0b100,
  segments::d = 0b1000, segments::e = 0b10000, segments::f = 0b100000, segments::g = 0b1000000,
  segments::h = 0b10000000, segments::i = 0b100000000, segments::j = 0b1000000000, segments::k = 0b10000000000,
  segments::l = 0b100000000000, segments::m = 0b1000000000000, segments::a1 = a, segments::a2 = 0b10000000000000,
  segments::d1 = d, segments::d2 = 0b100000000000000, segments::g1 = g, segments::g2 = 0b1000000000000000,
  segments::dp = 0b10000000000000000, segments::pc = 0b100000000000000000
}
 Specifies how a control anchors to the edges of its container. More...
 
enum  selection_mode { selection_mode::none = 0, selection_mode::one = 1, selection_mode::multi_simple = 2, selection_mode::multi_extended = 3 }
 Specifies the selection behavior of a list box. More...
 
enum  shortcut {
  alt_0 = 0x00040030, alt_1, alt_2, alt_3,
  alt_4, alt_5, alt_6, alt_7,
  alt_8, alt_9, alt_bksp = 0x00040008, alt_down_arrow = 0x00040028,
  alt_f1 = 0x00040070, alt_f10 = 0x00040079, alt_f11, alt_f12,
  alt_f2 = 0x00040071, alt_f3, alt_f4, alt_f5,
  alt_f6, alt_f7, alt_f8, alt_f9,
  alt_left_arrow = 0x00040025, alt_right_arrow = 0x00040027, alt_up_arrow = 0x00040026, cmd_0 = 0x00080030,
  cmd_1, cmd_2, cmd_3, cmd_4,
  cmd_5, cmd_6, cmd_7, cmd_8,
  cmd_9, cmd_a = 0x00080041, cmd_b, cmd_c,
  cmd_d, cmd_del = 0x0008002E, cmd_e = 0x00080045, cmd_f,
  cmd_f1 = 0x00080070, cmd_f10 = 0x00080079, cmd_f11, cmd_f12,
  cmd_f2 = 0x00080071, cmd_f3, cmd_f4, cmd_f5,
  cmd_f6, cmd_f7, cmd_f8, cmd_f9,
  cmd_g = 0x00080047, cmd_h, cmd_i, cmd_ins = 0x0008002D,
  cmd_j = 0x0008004A, cmd_k, cmd_l, cmd_m,
  cmd_n, cmd_o, cmd_p, cmd_q,
  cmd_r, cmd_s, cmd_shift_0 = 0x00090030, cmd_shift_1,
  cmd_shift_2, cmd_shift_3, cmd_shift_4, cmd_shift_5,
  cmd_shift_6, cmd_shift_7, cmd_shift_8, cmd_shift_9,
  cmd_shift_a = 0x00090041, cmd_shift_b, cmd_shift_c, cmd_shift_d,
  cmd_shift_e, cmd_shift_f, cmd_shift_f1 = 0x00090070, cmd_shift_f10 = 0x00090079,
  cmd_shift_f11, cmd_shift_f12, cmd_shift_f2 = 0x00090071, cmd_shift_f3,
  cmd_shift_f4, cmd_shift_f5, cmd_shift_f6, cmd_shift_f7,
  cmd_shift_f8, cmd_shift_f9, cmd_shift_g = 0x00090047, cmd_shift_h,
  cmd_shift_i, cmd_shift_j, cmd_shift_k, cmd_shift_l,
  cmd_shift_m, cmd_shift_n, cmd_shift_o, cmd_shift_p,
  cmd_shift_q, cmd_shift_r, cmd_shift_s, cmd_shift_t,
  cmd_shift_u, cmd_shift_v, cmd_shift_w, cmd_shift_x,
  cmd_shift_y, cmd_shift_z, cmd_t = 0x00080054, cmd_u,
  cmd_v, cmd_w, cmd_x, cmd_y,
  cmd_z, del = 0x0000002D, f1 = 0x00000070, f10 = 0x00000079,
  f11, f12, f2 = 0x00000071, f3,
  f4, f5, f6, f7,
  f8, f9, ins = 0x0000002D, none = 0,
  shift_del = 0x0001002E, shift_f1 = 0x00010070, shift_f10 = 0x00010079, shift_f11,
  shift_f12, shift_f2 = 0x00010071, shift_f3, shift_f4,
  shift_f5, shift_f6, shift_f7, shift_f8,
  shift_f9, shift_ins = 0x0001002D
}
 Specifies shortcut keys that can be used by menu items. More...
 
enum  splitter_style { draw_line = 0, update_childs = 1 }
 
enum  tab_alignment { tab_alignment::top = 0, tab_alignment::bottom = 1, tab_alignment::left = 2, tab_alignment::right = 3 }
 Specifies the locations of the tabs in a tab control. More...
 
enum  text_format_flags {
  default_format = 0b0, glyph_overhang_padding = 0b0, left = 0b0, top = 0b0,
  horizontal_center = 0b1, rigth = 0b10, vertical_center = 0b100, bottom = 0b1000,
  word_break = 0b10000, sign_line = 0b100000, expand_tabs = 0b1000000, no_clipping = 0b100000000,
  external_leading = 0b1000000000, no_prefix = 0b10000000000, internal = 0b1000000000000, text_box_control = 0b10000000000000,
  path_ellipsis = 0b100000000000000, end_ellipse = 0b1000000000000000, modify_string = 0b10000000000000000, right_to_left = 0b100000000000000000,
  word_ellipsis = 0b1000000000000000000, no_full_width_characterB_break = 0b10000000000000000000, hide_prefix = 0b100000000000000000000, prefix_only = 0b1000000000000000000000,
  preserve_graphics_clipping = 0b1000000000000000000000000, preserve_graphics_translate_transform = 0b10000000000000000000000000, no_padding = 0b10000000000000000000000000000, left_and_right_padding = 0b100000000000000000000000000000
}
 
enum  theme_style { system_auto = 0, undefined = 0, light, dark }
 Specifies the style of theme. More...
 
enum  tick_style { tick_style::none = 0, tick_style::top_left = 1, tick_style::bottom_right = 2, tick_style::both = 3 }
 Specifies the location of tick marks in a Ttack_bar control. More...
 

Detailed Description

The xtd::forms namespace contains classes for creating Windows-based applications that take full advantage of the rich user interface features available in the Microsoft Windows operating system, Apple macOS and Linux like Ubuntu operating system.

The xtd::forms namespace contains classes for creating Windows-based applications that take full advantage of the rich user interface features available in the Microsoft Windows operating upper, Apple macOS and Linux like Ubuntu operating upper.

The xtd::windows::forms namespace contains classes for creating Windows-based applications that take full advantage of the rich user interface features available in the Microsoft Windows operating system, Apple macOS and Linux like Ubuntu operating system.