xtd - Reference Guide  0.1.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
xtd::forms::form Class Reference

Represents a window or dialog box that makes up an application's user interface. More...

#include <form.h>

Public Member Functions

 form ()
 Initializes a new instance of the Form class. More...
 
std::optional< std::reference_wrapper< ibutton_control > > accept_button () const
 Gets the button on the form that is clicked when the user presses the ENTER key. More...
 
formaccept_button (const ibutton_control &value)
 Sets the button on the form that is clicked when the user presses the ENTER key. More...
 
formaccept_button (nullptr_t)
 Sets the button on the form that is clicked when the user presses the ENTER key. More...
 
void activate ()
 Activates the form and gives it focus. More...
 
virtual forms::auto_size_mode auto_size_mode () const
 Gets the mode by which the form automatically resizes itself. More...
 
virtual formauto_size_mode (forms::auto_size_mode value)
 Sets the mode by which the form automatically resizes itself. More...
 
void bring_to_front () override
 Brings the control to the front of the z-order. More...
 
std::optional< std::reference_wrapper< ibutton_control > > cancel_button () const
 Gets the button control that is clicked when the user presses the ESC key. More...
 
formcancel_button (const ibutton_control &value)
 Gets the button control that is clicked when the user presses the ESC key. More...
 
formcancel_button (nullptr_t)
 Gets the button control that is clicked when the user presses the ESC key. More...
 
void center_to_screen ()
 Centers the position of the form within the bounds of the parent form. More...
 
void close ()
 Closes the form. More...
 
virtual bool close_box () const
 Gets a value indicating whether a close box is displayed in the caption bar of the form. More...
 
virtual formclose_box (bool value)
 Sets a value indicating whether a close box is displayed in the caption bar of the form. More...
 
virtual bool control_box () const
 Gets a value indicating whether a control box is displayed in the caption bar of the form. More...
 
virtual formcontrol_box (bool value)
 Sets a value indicating whether a control box is displayed in the caption bar of the form. More...
 
drawing::size default_size () const override
 Gets the default size of the control. More...
 
virtual forms::dialog_result dialog_result () const
 Gets the dialog result for the form. More...
 
virtual formdialog_result (forms::dialog_result value)
 Sets the dialog result for the form. More...
 
virtual forms::form_border_style form_border_style () const
 Gets the border style of the form. More...
 
virtual formform_border_style (forms::form_border_style value)
 Gets the border style of the form. More...
 
virtual bool help_button () const
 Gets a value indicating whether a Help button should be displayed in the caption box of the form. More...
 
virtual formhelp_button (bool value)
 Sets a value indicating whether a Help button should be displayed in the caption box of the form. More...
 
virtual const xtd::drawing::iconicon () const
 Gets the icon for the form. More...
 
virtual formicon (const xtd::drawing::icon &value)
 Sets the icon for the form. More...
 
virtual bool maximize_box () const
 Gets a value indicating whether the Maximize button is displayed in the caption bar of the form. More...
 
virtual formmaximize_box (bool value)
 Sets a value indicating whether the Maximize button is displayed in the caption bar of the form. More...
 
virtual std::optional< forms::main_menumenu () const
 Gets the main_menu that is displayed in the form. More...
 
virtual formmenu (const forms::main_menu &value)
 Sets the main_menu that is displayed in the form. More...
 
virtual formmenu (nullptr_t)
 Sets the main_menu that is displayed in the form. More...
 
virtual bool minimize_box () const
 Gets a value indicating whether the Minimize button is displayed in the caption bar of the form. More...
 
virtual formminimize_box (bool value)
 Sets a value indicating whether the Minimize button is displayed in the caption bar of the form. More...
 
bool modal () const
 Gets a value indicating whether this form is displayed modally. More...
 
virtual double opacity () const
 Gets form opacity. More...
 
virtual formopacity (double opacity)
 Sets form opacity. More...
 
virtual std::optional< control_refowner () const
 Gets the form that owns this form. More...
 
virtual formowner (const control &value)
 Sets the form that owns this form. More...
 
controlparent (const control &value) override
 Sets the parent container of the control. More...
 
bool pre_process_message (xtd::forms::message &message) override
 Preprocesses keyboard or input messages within the message loop before they are dispatched. More...
 
virtual forms::dialog_result show_dialog ()
 Shows the form as a modal dialog box. More...
 
virtual forms::dialog_result show_dialog (const iwin32_window &owner)
 Shows the form as a modal dialog box with the specified owner. owner Any object that implements iwin32_window that represents the top-level window that will own the modal dialog box. More...
 
virtual bool show_icon () const
 Gets a value indicating whether an icon is displayed in the caption bar of the form. More...
 
virtual formshow_icon (bool value)
 Sets a value indicating whether an icon is displayed in the caption bar of the form. More...
 
virtual void show_sheet (const iwin32_window &owner)
 Shows the form as a sheet dialog box. More...
 
virtual forms::dialog_result show_sheet_dialog (const iwin32_window &owner)
 Shows the form as a modal sheet dialog box. More...
 
virtual form_start_position start_position () const
 Gets the starting position of the form at run time. More...
 
virtual formstart_position (form_start_position value)
 Sets the starting position of the form at run time. More...
 
virtual bool top_level () const
 Gets a value indicating whether to display the form as a top-level window. More...
 
virtual formtop_level (bool top_level)
 Sets a value indicating whether to display the form as a top-level window. More...
 
virtual bool top_most () const
 Gets a value indicating whether the form should be displayed as a topmost form. More...
 
virtual formtop_most (bool value)
 Sets a value indicating whether the form should be displayed as a topmost form. More...
 
controlvisible (bool visible) override
 Sets a value indicating whether the control and all its child controls are displayed. More...
 
virtual form_window_state window_state () const
 Gets a value that indicates whether form is minimized, maximized, or normal. More...
 
virtual formwindow_state (form_window_state value)
 Sets a value that indicates whether form is minimized, maximized, or normal. More...
 
- Public Member Functions inherited from xtd::forms::container_control
std::optional< control_refactive_control () const
 Gets the active control on the container control. More...
 
void active_control (const control &active_control)
 Sets the active control on the container control. More...
 
void active_control (std::nullptr_t)
 Resets the active control on the container control. More...
 
- Public Member Functions inherited from xtd::forms::scrollable_control
virtual bool auto_scroll () const
 Gets a value indicating whether the container enables the user to scroll to any controls placed outside of its visible boundaries. More...
 
virtual scrollable_controlauto_scroll (bool auto_scroll)
 Sets a value indicating whether the container enables the user to scroll to any controls placed outside of its visible boundaries. More...
 
drawing::size auto_scroll_margin () const
 Gets the size of the auto-scroll margin. More...
 
scrollable_controlauto_scroll_margin (const drawing::size &value)
 Sets the size of the auto-scroll margin. More...
 
drawing::rectangle display_rectangle () const override
 Gets the rectangle that represents the virtual display area of the control. More...
 
virtual bool hscroll () const
 Gets a value indicating whether the horizontal scroll bar is visible. More...
 
virtual scrollable_controlhscroll (bool hscroll)
 Sets a value indicating whether the horizontal scroll bar is visible. More...
 
virtual bool vscroll () const
 Gets a value indicating whether the vertical scroll bar is visible. More...
 
virtual scrollable_controlvscroll (bool vscroll)
 Sets a value indicating whether the vertical scroll bar is visible. More...
 
- Public Member Functions inherited from xtd::forms::control
 control ()
 Initializes a new instance of the control class with default settings. More...
 
 control (const std::string &text)
 Initializes a new instance of the control class with specific text. More...
 
 control (const control &parent, const std::string &text)
 nitializes a new instance of the control class as a child control, with specific text. More...
 
 control (const std::string &text, int32_t left, int32_t top, int32_t width, int32_t height)
 Initializes a new instance of the control class with specific text, size, and location. More...
 
 control (const control &parent, const std::string &text, int32_t left, int32_t top, int32_t width, int32_t height)
 Initializes a new instance of the control class as a child control, with specific text, size, and location. More...
 
virtual anchor_styles anchor () const
 Gets the edges of the container to which a control is bound and determines how a control is resized with its parent. More...
 
virtual controlanchor (anchor_styles anchor)
 Gets the edges of the container to which a control is bound and determines how a control is resized with its parent. More...
 
virtual drawing::point auto_scroll_point () const
 Gets where this control is scrolled to in scroll_control_into_view(control). More...
 
virtual bool auto_size () const
 Gets a value that indicates whether the control resizes based on its contents. More...
 
virtual controlauto_size (bool auto_size)
 Sets a value that indicates whether the control resizes based on its contents. More...
 
virtual drawing::color back_color () const
 Gets the background color for the control. More...
 
virtual controlback_color (const drawing::color &color)
 Sets the background color for the control. More...
 
virtual const xtd::drawing::imagebackground_image () const
 Gets the background image displayed in the control. More...
 
virtual controlbackground_image (const xtd::drawing::image &background_image)
 Sets the background image displayed in the control. More...
 
virtual xtd::forms::image_layout background_image_layout () const
 Gets the background image layout as defined in the xtd::forms::image_layout enumeration. More...
 
virtual controlbackground_image_layout (xtd::forms::image_layout background_image_layout)
 Sets the background image layout as defined in the xtd::forms::image_layout enumeration. More...
 
async_result_invoke begin_invoke (delegate< void()> value)
 Executes the specified delegate asynchronously on the thread that the control's underlying handle was created on. More...
 
async_result_invoke begin_invoke (delegate< void(std::vector< std::any >)> value, const std::vector< std::any > &args)
 Executes the specified delegate asynchronously with the specified arguments, on the thread that the control's underlying handle was created on. More...
 
virtual int32_t bottom () const
 Gets the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area. More...
 
virtual drawing::rectangle bounds () const
 Gets the size and location of the control including its nonclient elements, in pixels, relative to the parent control. More...
 
virtual controlbounds (const drawing::rectangle &bounds)
 Sets the size and location of the control including its nonclient elements, in pixels, relative to the parent control. More...
 
virtual bool can_focus () const
 Gets a value indicating whether the control can receive focus. More...
 
bool can_raise_events () const override
 Determines if events can be raised on the control. More...
 
virtual bool can_select () const
 Gets a value indicating whether the control can be selected. More...
 
virtual const drawing::rectangleclient_rectangle () const
 Gets the rectangle that represents the client area of the control. More...
 
virtual const drawing::sizeclient_size () const
 Gets the height and width of the client area of the control. More...
 
virtual controlclient_size (const drawing::size &client_size)
 Sets the height and width of the client area of the control. More...
 
virtual std::string compagny_name () const
 Gets the name of the company or creator of the application containing the control. More...
 
virtual control_collectioncontrols ()
 Gets the collection of controls contained within the control. More...
 
virtual const control_collectioncontrols () const
 Gets the collection of controls contained within the control. More...
 
void create_control ()
 Forces the creation of the visible control, including the creation of the handle and any visible child controls. More...
 
drawing::graphics create_graphics () const
 Creates the xtd::drawing::graphics for the control. More...
 
virtual void create_handle ()
 Creates a handle for the control. More...
 
virtual bool created ()
 Gets a value indicating whether the control has been created. More...
 
virtual forms::cursor cursor () const
 Gets the cursor that is displayed when the mouse pointer is over the control. More...
 
virtual controlcursor (const forms::cursor &cursor)
 Sets the cursor that is displayed when the mouse pointer is over the control. More...
 
virtual drawing::color default_back_color () const
 Gets the default background color of the control. More...
 
virtual forms::cursor default_cursor () const
 Gets the default cursor for the control. More...
 
virtual drawing::font default_font () const
 Gets the default font of the control. More...
 
virtual drawing::color default_fore_color () const
 Gets the default foreground color of the control. More...
 
virtual void destroy_control ()
 Forces the destruction of the visible control, including the destruction of the handle and any visible child controls. More...
 
virtual void destroy_handle ()
 Destroys the handle associated with the control. More...
 
virtual dock_style dock () const
 Gets or sets which control borders are docked to its parent control and determines how a control is resized with its parent. More...
 
virtual controldock (dock_style dock)
 Sets or sets which control borders are docked to its parent control and determines how a control is resized with its parent. More...
 
virtual bool double_buffered () const
 Gets a value indicating whether this control should redraw its surface using a secondary buffer to reduce or prevent flicker. More...
 
virtual controldouble_buffered (bool double_buffered)
 Sets a value indicating whether this control should redraw its surface using a secondary buffer to reduce or prevent flicker. More...
 
virtual bool enabled () const
 Gets a value indicating whether the control can respond to user interaction. More...
 
virtual controlenabled (bool enabled)
 Sets a value indicating whether the control can respond to user interaction. More...
 
void end_invoke (async_result_invoke async)
 Retrieves the return value of the asynchronous operation represented by the async_result_invoke passed. More...
 
bool focus ()
 Sets input focus to the control. More...
 
virtual bool focused () const
 Gets a value indicating whether the control has input focus. More...
 
virtual drawing::font font () const
 Gets the font of the text displayed by the control. More...
 
virtual controlfont (const drawing::font &font)
 Sets the font of the text displayed by the control. More...
 
virtual drawing::color fore_color () const
 Gets the foreground color of the control. More...
 
virtual controlfore_color (const drawing::color &color)
 Sets the foreground color of the control. More...
 
size_t get_child_index (intptr_t child) const
 Retrieves the index of a control within the control collection. More...
 
size_t get_child_index (intptr_t child, bool &throw_exception) const
 Retrieves the index of the specified child control within the control collection, and optionally raises an exception if the specified control is not within the control collection. More...
 
intptr_t handle () const override
 Gets the window handle that the control is bound to. More...
 
virtual int32_t height () const
 Gets the height of the control. More...
 
virtual controlheight (int32_t height)
 Sets the height of the control. More...
 
virtual void hide ()
 Conceals the control from the user. More...
 
virtual void invalidate () const
 Invalidates the entire surface of the control and causes the control to be redrawn. More...
 
virtual void invalidate (bool invalidate_children) const
 Invalidates a specific region of the control and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control. More...
 
virtual void invalidate (const drawing::rectangle &rect) const
 Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. More...
 
virtual void invalidate (const drawing::rectangle &rect, bool invalidate_children) const
 Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control. More...
 
void invoke (delegate< void()> value)
 Executes the specified delegate on the thread that owns the control's underlying window handle. More...
 
void invoke (delegate< void(std::vector< std::any >)> value, const std::vector< std::any > &args)
 Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments. More...
 
bool is_handle_created () const
 Gets a value indicating whether the control has a handle associated with it. More...
 
virtual int32_t left () const
 Gets the distance, in pixels, between the left edge of the control and the left edge of its container's client area. More...
 
virtual controlleft (int32_t left)
 Sets the distance, in pixels, between the left edge of the control and the left edge of its container's client area. More...
 
virtual drawing::point location () const
 Gets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. More...
 
virtual controllocation (const drawing::point &location)
 Sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. More...
 
virtual forms::padding margin () const
 Gets the space between controls. More...
 
virtual controlmargin (const forms::padding &margin)
 Sets the space between controls. More...
 
virtual const drawing::sizemaximum_size () const
 Gets the size that is the upper limit that xtd::forms::control::get_preferred_size can specify. More...
 
virtual controlmaximum_size (const drawing::size &size)
 Sets the size that is the upper limit that xtd::forms::control::get_preferred_size can specify. More...
 
virtual const drawing::sizeminimum_size () const
 Gets the size that is the lower limit that xtd::forms::control::get_preferred_size can specify. More...
 
virtual controlminimum_size (const drawing::size &size)
 Sets the size that is the lower limit that xtd::forms::control::get_preferred_size can specify. More...
 
virtual const std::string & name () const
 Gets the name of the control. More...
 
virtual controlname (const std::string &name)
 Sets the name of the control. More...
 
virtual forms::padding padding () const
 Gets padding within the control. More...
 
virtual controlpadding (const forms::padding &padding)
 Sets padding within the control. More...
 
virtual std::optional< control_refparent () const
 Gets the parent container of the control. More...
 
virtual controlparent (std::nullptr_t)
 Resets the parent container of the control. More...
 
void perform_layout ()
 Forces the control to apply layout logic to all its child controls. More...
 
xtd::drawing::point point_to_client (const xtd::drawing::point &p)
 Computes the location of the specified screen point into client coordinates. More...
 
xtd::drawing::point point_to_screen (const xtd::drawing::point &p)
 Computes the location of the specified client point into screen coordinates. More...
 
virtual std::string product_name () const
 Gets the product name of the assembly containing the control. More...
 
bool recreating_handle () const
 Gets a value indicating whether the control is currently re-creating its handle. More...
 
virtual void refresh () const
 Forces the control to invalidate its client area and immediately redraw itself and any child controls. More...
 
void resume_layout ()
 Resumes usual layout logic. More...
 
void resume_layout (bool perform_layout)
 Resumes usual layout logic, optionally forcing an immediate layout of pending layout requests. More...
 
virtual int32_t right () const
 Gets the distance, in pixels, between the right edge of the control and the left edge of its container's client area. More...
 
intptr_t send_message (intptr_t hwnd, int32_t msg, intptr_t wparam, intptr_t lparam) const
 Send a message with specified hwnd, message, wparam and lparam. More...
 
void set_auto_size_mode (auto_size_mode auto_size_mode)
 Sets a value indicating how a control will behave when its auto_size property is enabled. More...
 
void set_bounds (int32_t x, int32_t y, int32_t width, int32_t height)
 Sets the bounds of the control to the specified location and size. More...
 
void set_bounds (int32_t x, int32_t y, int32_t width, int32_t height, bounds_specified specified)
 Sets the specified bounds of the control to the specified location and size. More...
 
virtual void show ()
 Displays the control to the user. More...
 
virtual const drawing::sizesize () const
 Gets the height and width of the control. More...
 
virtual controlsize (const drawing::size &size)
 Sets the height and width of the control. More...
 
void suspend_layout ()
 Temporarily suspends the layout logic for the control. More...
 
virtual std::any tag () const
 Gets the object that contains data about the control. More...
 
virtual controltag (std::any tag)
 Sets the object that contains data about the control. More...
 
virtual const std::string & text () const
 Gets the text associated with this control. More...
 
virtual controltext (const std::string &text)
 Sets the text associated with this control. More...
 
std::string to_string () const noexcept override
 Returns a string containing the name of the control, if any. More...
 
virtual int32_t top () const
 Gets the distance, in pixels, between the top edge of the control and the top edge of its container's client area. More...
 
virtual controltop (int32_t top)
 Sets the distance, in pixels, between the top edge of the control and the top edge of its container's client area. More...
 
virtual std::optional< control_reftop_level_control () const
 Gets the parent control that is not parented by another Windows Forms control. Typically, this is the outermost Form that the control is contained in. More...
 
virtual void update () const
 Causes the control to redraw the invalidated regions within its client area. More...
 
virtual bool visible () const
 Gets a value indicating whether the control and all its child controls are displayed. More...
 
virtual int32_t width () const
 Gets the width of the control. More...
 
virtual controlwidth (int32_t width)
 Sets the width of the control. More...
 
- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object. More...
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object. More...
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type. More...
 
template<typename object_t >
std::shared_ptr< objectmemberwise_clone () const
 Gets the type of the current instance. More...
 

Static Public Member Functions

static std::optional< std::reference_wrapper< form > > active_form ()
 Gets the currently active form for this application. More...
 
- Static Public Member Functions inherited from xtd::forms::control
template<typename control_t >
static std::unique_ptr< control_t > create (const drawing::point &location={-1, -1}, const drawing::size &size={-1, -1}, const drawing::color &back_color=drawing::color::empty, const drawing::color &fore_color=drawing::color::empty)
 A factory to create a specified control with specified location ,size back_color and fore_color. More...
 
template<typename control_t >
static std::unique_ptr< control_t > create (const control &parent, const drawing::point &location={-1, -1}, const drawing::size &size={-1, -1}, const drawing::color &back_color=drawing::color::empty, const drawing::color &fore_color=drawing::color::empty)
 A factory to create a specified control with specified parent, location ,size back_color and fore_color. More...
 
template<typename control_t >
static std::unique_ptr< control_t > create (const std::string &text, const drawing::point &location={-1, -1}, const drawing::size &size={-1, -1}, const drawing::color &back_color=drawing::color::empty, const drawing::color &fore_color=drawing::color::empty)
 A factory to create a specified control with specified text, location ,size back_color and fore_color. More...
 
template<typename control_t >
static std::unique_ptr< control_t > create (const control &parent, const std::string &text, const drawing::point &location={-1, -1}, const drawing::size &size={-1, -1}, const drawing::color &back_color=drawing::color::empty, const drawing::color &fore_color=drawing::color::empty)
 A factory to create a specified control with specified parent, text, location ,size back_color and fore_color. More...
 
static std::optional< control_reffrom_child_handle (intptr_t handle)
 Retrieves the control that contains the specified handle. More...
 
static std::optional< control_reffrom_handle (intptr_t handle)
 Returns the control that is currently associated with the specified handle. More...
 
static forms::keys modifier_keys ()
 Gets a value indicating which of the modifier keys (SHIFT, CTRL, and ALT) is in a pressed state. More...
 
static forms::mouse_buttons mouse_buttons ()
 Gets a value indicating which of the mouse buttons is in a pressed state. More...
 
- Static Public Member Functions inherited from xtd::object
static bool equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are considered equal. More...
 
static bool reference_equals (const object &object_a, const object &object_b) noexcept
 Determines whether the specified object instances are the same instance. More...
 

Public Attributes

event< form, event_handleractivated
 Occurs when the form is activated in code or by the user. More...
 
event< form, event_handlerdeactivate
 Occurs when the form loses focus and is no longer the active form. More...
 
event< form, form_closed_event_handlerform_closed
 Occurs after the form is closed. More...
 
event< form, form_closing_event_handlerform_closing
 Occurs before the form is closed. More...
 
- Public Attributes inherited from xtd::forms::control
event< control, event_handlerauto_size_changed
 Occurs when the value of the auto_size property changes. More...
 
event< control, event_handlerback_color_changed
 Occurs when the value of the back_color property changes. More...
 
event< control, event_handlerbackground_image_changed
 Occurs when the value of the background_image property changes. More...
 
event< control, event_handlerbackground_image_layout_changed
 Occurs when the value of the background_image_layouot property changes. More...
 
event< control, event_handlerclick
 Occurs when the control is clicked. More...
 
event< control, event_handlerclient_size_changed
 Occurs when the value of the client_size property changes. More...
 
event< control, control_event_handlercontrol_added
 Occurs when a new control is added to the control::control_collection. More...
 
event< control, control_event_handlercontrol_removed
 Occurs when a new control is removed to the control::control_collection. More...
 
event< control, event_handlercursor_changed
 Occurs when the value of the cursor property changes. More...
 
event< control, event_handlerdock_changed
 Occurs when the value of the dock property changes. More...
 
event< control, event_handlerdouble_click
 Occurs when the control is double-clicked. More...
 
event< control, event_handlerenabled_changed
 Occurs when the value of the enabled property changes. More...
 
event< control, event_handlerfont_changed
 Occurs when the value of the font property changes. More...
 
event< control, event_handlerfore_color_changed
 Occurs when the value of the fore_color property changes. More...
 
event< control, event_handlergot_focus
 Occurs when the control receives focus. More...
 
event< control, event_handlerhandle_created
 Occurs when a handle is created for the control. More...
 
event< control, event_handlerhandle_destroyed
 Occurs when the control's handle is in the process of being destroyed. More...
 
event< control, key_event_handlerkey_down
 Occurs when a key is pressed while the control has focus. More...
 
event< control, key_press_event_handlerkey_press
 Occurs when a character. space or backspace key is pressed while the control has focus. More...
 
event< control, key_event_handlerkey_up
 Occurs when a key is released while the control has focus. More...
 
event< control, event_handlerlayout
 Occurs when a control should reposition its child controls. More...
 
event< control, event_handlerlocation_changed
 Occurs when the value of the location property changes. More...
 
event< control, event_handlerlost_focus
 Occurs when the control loses focus. More...
 
event< control, mouse_event_handlermouse_click
 Occurs when the control is clicked by the mouse. More...
 
event< control, mouse_event_handlermouse_double_click
 Occurs when the control is double clicked by the mouse. More...
 
event< control, mouse_event_handlermouse_down
 Occurs when the mouse pointer is over the control and a mouse button is pressed. More...
 
event< control, event_handlermouse_enter
 Occurs when the mouse pointer enters the control. More...
 
event< control, mouse_event_handlermouse_horizontal_wheel
 Occurs when the mouse hoirontal wheel moves while the control has focus. More...
 
event< control, event_handlermouse_leave
 Occurs when the mouse pointer leaves the control. More...
 
event< control, mouse_event_handlermouse_move
 Occurs when the mouse pointer is moved over the control. More...
 
event< control, mouse_event_handlermouse_up
 Occurs when the mouse pointer is over the control and a mouse button is released. More...
 
event< control, mouse_event_handlermouse_wheel
 Occurs when the mouse wheel moves while the control has focus. More...
 
event< control, paint_event_handlerpaint
 Occurs when the control is redrawn. More...
 
event< control, event_handlerparent_changed
 Occurs when the value of the parent property changes. More...
 
event< control, event_handlerresize
 Occurs when the control is resized. More...
 
event< control, event_handlersize_changed
 Occurs when the value of the size property changes. More...
 
event< control, event_handlertext_changed
 Occurs when the value of the text property changes. More...
 
event< control, event_handlervisible_changed
 Occurs when the value of the visible property changes. More...
 

Protected Member Functions

forms::create_params create_params () const override
 Gets the required creation parameters when the control handle is created. More...
 
virtual void on_activated (const event_args &e)
 Raises the form::activated event. More...
 
virtual void on_deactivate (const event_args &e)
 Raises the form::deactivate event. More...
 
virtual void on_form_closed (const form_closed_event_args &e)
 Raises the form::form_closed event. More...
 
virtual void on_form_closing (form_closing_event_args &e)
 Raises the form::form_closing event. More...
 
void on_handle_created (const event_args &e) override
 Raises the control::handle_created event. More...
 
void on_handle_destroyed (const event_args &e) override
 Raises the control::handle_destroyed event. More...
 
void on_layout (const event_args &e) override
 Raises the control::layout event. More...
 
void on_location_changed (const event_args &e) override
 Raises the control::location_changed event. More...
 
void on_resize (const event_args &e) override
 Raises the control::resize event. More...
 
virtual void wm_activate (message &message)
 Processes the active message the form control receives as the top-level window. More...
 
virtual void wm_close (message &message)
 Processes the close message the form control receives as the top-level window. More...
 
void wnd_proc (message &message) override
 Processes Windows messages. More...
 
- Protected Member Functions inherited from xtd::forms::container_control
 container_control ()=default
 Initializes a new instance of the ContainerControl class. More...
 
drawing::size measure_control () const override
 Measure this control. More...
 
- Protected Member Functions inherited from xtd::forms::scrollable_control
 scrollable_control ()=default
 Initialize a new instance of scollable_control class. More...
 
forms::create_params create_params () const override
 Gets the required creation parameters when the control handle is created. More...
 
void on_layout (const event_args &e) override
 Raises the control::layout event. More...
 
- Protected Member Functions inherited from xtd::forms::control
virtual void def_wnd_proc (message &message)
 Sends the specified message to the default window procedure. More...
 
bool get_style (control_styles flag) const
 Retrieves the value of the specified control style bit for the control. More...
 
drawing::size measure_text () const
 Measure this control text. More...
 
virtual void on_auto_size_changed (const event_args &e)
 Raises the control::auto_size_changed event. More...
 
virtual void on_back_color_changed (const event_args &e)
 Raises the control::back_color_changed event. More...
 
virtual void on_background_image_changed (const event_args &e)
 Raises the control::background_image_changed event. More...
 
virtual void on_background_image_layout_changed (const event_args &e)
 Raises the control::background_image_layout_changed event. More...
 
virtual void on_click (const event_args &e)
 Raises the control::click event. More...
 
virtual void on_client_size_changed (const event_args &e)
 Raises the control::client_size_changed event. More...
 
virtual void on_control_added (const control_event_args &e)
 Raises the control::control_added event. More...
 
virtual void on_control_removed (const control_event_args &e)
 Raises the control::control_removed event. More...
 
virtual void on_create_control ()
 Raises the control::create_control event. More...
 
virtual void on_cursor_changed (const event_args &e)
 Raises the control::cursor_changed event. More...
 
virtual void on_dock_changed (const event_args &e)
 Raises the control::dock_changed event. More...
 
virtual void on_double_click (const event_args &e)
 Raises the double_click event. More...
 
virtual void on_enabled_changed (const event_args &e)
 Raises the control::enabled_changed event. More...
 
virtual void on_font_changed (const event_args &e)
 Raises the control::font_changed event. More...
 
virtual void on_fore_color_changed (const event_args &e)
 Raises the control::fore_color_changed event. More...
 
virtual void on_got_focus (const event_args &e)
 Raises the control::got_focus event. More...
 
virtual void on_key_down (key_event_args &e)
 Raises the control::key_down event. More...
 
virtual void on_key_press (key_press_event_args &e)
 Raises the control::key_press event. More...
 
virtual void on_key_up (key_event_args &e)
 Raises the control::key_up event. More...
 
virtual void on_lost_focus (const event_args &e)
 Raises the control::lost_focus event. More...
 
virtual void on_mouse_click (const mouse_event_args &e)
 Raises the control::mouse_click event. More...
 
virtual void on_mouse_double_click (const mouse_event_args &e)
 Raises the control::mouse_double_click event. More...
 
virtual void on_mouse_down (const mouse_event_args &e)
 Raises the control::mouse_down event. More...
 
virtual void on_mouse_enter (const event_args &e)
 Raises the control::mouse_enter event. More...
 
virtual void on_mouse_horizontal_wheel (const mouse_event_args &e)
 Raises the control::mouse_horizontal_wheel event. More...
 
virtual void on_mouse_leave (const event_args &e)
 Raises the control::mouse_leave event. More...
 
virtual void on_mouse_move (const mouse_event_args &e)
 Raises the control::mouse_move event. More...
 
virtual void on_mouse_up (const mouse_event_args &e)
 Raises the control::mouse_up event. More...
 
virtual void on_mouse_wheel (const mouse_event_args &e)
 Raises the control::mouse_wheel event. More...
 
virtual void on_paint (paint_event_args &e)
 Raises the control::paint event. More...
 
virtual void on_parent_back_color_changed (const event_args &e)
 Raises the control::parent_back_color_changed event. More...
 
virtual void on_parent_changed (const event_args &e)
 Raises the control::parent_changed event. More...
 
virtual void on_parent_cursor_changed (const event_args &e)
 Raises the control::parent_cursor_changed event. More...
 
virtual void on_parent_enabled_changed (const event_args &e)
 Raises the xtd::control::enabled_changed event when the xttd::control::enabled property value of the control's container changes.. More...
 
virtual void on_parent_font_changed (const event_args &e)
 Raises the control::parent_font_changed event. More...
 
virtual void on_parent_fore_color_changed (const event_args &e)
 Raises the control::parent_fore_color_changed event. More...
 
virtual void on_size_changed (const event_args &e)
 Raises the control::size_changed event. More...
 
virtual void on_text_changed (const event_args &e)
 Raises the control::text_changed event. More...
 
virtual void on_visible_changed (const event_args &e)
 Raises the control::visible_changed event. More...
 
virtual void recreate_handle ()
 Forces the re-creation of the handle for the control. More...
 
virtual void set_bounds_core (int32_t x, int32_t y, int32_t width, int32_t height, bounds_specified specified)
 Performs the work of setting the specified bounds of this control. More...
 
virtual void set_client_size_core (int32_t width, int32_t height)
 Sets the size of the client area of the control. More...
 
void set_style (control_styles flag, bool value)
 Sets a specified control_styles flag to either true or false. More...
 
- Protected Member Functions inherited from xtd::forms::component
 component ()=default
 Initialises a new instance of the compnent class. More...
 
bool design_mode () const
 Gets a value that indicates whether the component is currently in design mode. More...
 

Detailed Description

Represents a window or dialog box that makes up an application's user interface.

Library
xtd.forms
Remarks
A form is a representation of any window displayed in your application. The Form class can be used to create standard, tool, borderless, and floating windows. You can also use the form class to create modal windows such as a dialog box. A special kind of form, the multiple-document interface (MDI) form, can contain other forms called MDI child forms. An MDI form is created by setting the is_mdi_container property to true. MDI child forms are created by setting the mdi_parent property to the MDI parent form that will contain the child form.
Using the properties available in the form class, you can determine the appearance, size, color, and window management features of the window or dialog box you are creating. The text property allows you to specify the caption of the window in the title bar. The size and desktop_location properties allow you to define the size and position of the window when it is displayed. You can use the fore_color color property to change the default foreground color of all controls placed on the form. The form_border_style, minimize_box, and maximize_box properties allow you to control whether the form can be minimized, maximized, or resized at run time.
In addition to properties, you can use the methods of the class to manipulate a form. For example, you can use the show_dialog method to show a form as a modal dialog box. You can use the set_desktop_location method to position the form on the desktop.
Examples
The following code example demonstrate the use of form control.
#include <xtd/xtd>
using namespace std;
using namespace xtd;
using namespace xtd::forms;
class form1 : public form {
public:
form1() {
text("form1");
location({300, 200});
size({640, 480});
button_close.parent(*this);
button_close.text("Close");
button_close.auto_size(true);
button_close.location({10, 10});
button_close.click += event_handler(*this, &form::close);
button_exit.parent(*this);
button_exit.text("Exit");
button_exit.auto_size(true);
button_exit.location({100, 10});
button_exit.click += overload_<>(&application::exit);
button_exit_thread.parent(*this);
button_exit_thread.text("Exit thread");
button_exit_thread.auto_size(true);
button_exit_thread.location({190, 10});
button_exit_thread.click += &application::exit_thread;
}
protected:
e.cancel(message_box::show(*this, "Are you sure you want exit?", "Close Form", message_box_buttons::yes_no, message_box_icon::question) == dialog_result::no);
};
private:
forms::button button_close;
forms::button button_exit;
forms::button button_exit_thread;
};
int main() {
application::run(form1());
}
Windows
form_w.png

form_wd.png
macOS
form_m.png

form_md.png
Gnome
form_g.png

form_gd.png
Examples:
about_box.cpp, about_dialog.cpp, about_dialog_system.cpp, application.cpp, application_and_exception.cpp, application_context.cpp, bitmap_button.cpp, busy_box.cpp, busy_dialog.cpp, button.cpp, check_box.cpp, checked_list_box.cpp, choice.cpp, collapsible_panel.cpp, color_box.cpp, color_dialog.cpp, color_picker.cpp, colored_tab_pages.cpp, combo_box.cpp, command_link_button.cpp, control.cpp, countries.cpp, cursors.cpp, date_time_picker.cpp, debug_form.cpp, dot_matrix_display.cpp, enable_debug.cpp, exception_box.cpp, exception_dialog.cpp, fill_rectangle.cpp, folder_browser_dialog.cpp, font_dialog.cpp, font_picker.cpp, form.cpp, fourteen_segment_display.cpp, group_box.cpp, group_box_and_check_box.cpp, group_box_and_radio_button.cpp, hello_world_label.cpp, image_list.cpp, input_box.cpp, input_dialog.cpp, input_dialog_multiline.cpp, input_dialog_password.cpp, label.cpp, lcd_label.cpp, lcd_label2.cpp, list_box.cpp, main_menu.cpp, main_menu_create_standard_items.cpp, message_box.cpp, message_dialog.cpp, nine_segment_display.cpp, numeric_up_down.cpp, open_file_dialog.cpp, panel.cpp, picture_box.cpp, progress_bar.cpp, progress_dialog.cpp, radio_button.cpp, save_file_dialog.cpp, screen.cpp, seven_segment_display.cpp, sixteen_segment_display.cpp, split_container.cpp, splitter.cpp, switch_button.cpp, tab_control.cpp, text_box.cpp, texts.cpp, timer.cpp, toggle_button.cpp, trace_form.cpp, track_bar.cpp, up_down_button.cpp, use_wait_cursor.cpp, and user_control.cpp.

Constructor & Destructor Documentation

◆ form()

xtd::forms::form::form ( )

Initializes a new instance of the Form class.

Remarks
The default size of a form is 300 pixels in height and 300 pixels in width.

Member Function Documentation

◆ accept_button() [1/3]

std::optional<std::reference_wrapper<ibutton_control> > xtd::forms::form::accept_button ( ) const
inline

Gets the button on the form that is clicked when the user presses the ENTER key.

Returns
An ibutton_control that represents the button to use as the accept button for the form.

◆ accept_button() [2/3]

form& xtd::forms::form::accept_button ( const ibutton_control value)

Sets the button on the form that is clicked when the user presses the ENTER key.

Parameters
valueAn ibutton_control that represents the button to use as the accept button for the form.
Returns
Current form.

◆ accept_button() [3/3]

form& xtd::forms::form::accept_button ( nullptr_t  )

Sets the button on the form that is clicked when the user presses the ENTER key.

Parameters
valueAn ibutton_control that represents the button to use as the accept button for the form.
Returns
Current form.

◆ activate()

void xtd::forms::form::activate ( )

Activates the form and gives it focus.

Remarks
Activating a form brings it to the front if this is the active application, or it flashes the window caption if this is not the active application. The form must be visible for this method to have any effect. To determine the active form in an application, use the active_form property or the active_mdi_child property if your forms are in a Multiple-document interface (MDI) application.

◆ active_form()

static std::optional<std::reference_wrapper<form> > xtd::forms::form::active_form ( )
inlinestatic

Gets the currently active form for this application.

Returns
A form that represents the currently active form, or std::optional with no vallue if there is no active form.

◆ auto_size_mode() [1/2]

virtual forms::auto_size_mode xtd::forms::form::auto_size_mode ( ) const
inlinevirtual

Gets the mode by which the form automatically resizes itself.

Returns
An auto_size_mode enumerated value. The default is grow_only.
Examples:
lcd_label2.cpp.

◆ auto_size_mode() [2/2]

virtual form& xtd::forms::form::auto_size_mode ( forms::auto_size_mode  value)
virtual

Sets the mode by which the form automatically resizes itself.

Parameters
valueAn auto_size_mode enumerated value. The default is grow_only.
Returns
Current form.

◆ bring_to_front()

void xtd::forms::form::bring_to_front ( )
overridevirtual

Brings the control to the front of the z-order.

Remarks
The control is moved to the front of the z-order. If the control is a child of another control, the child control is moved to the front of the z-order. bring_to_front does not make a control a top-level control, and it does not raise the paint event.

Reimplemented from xtd::forms::control.

◆ cancel_button() [1/3]

std::optional<std::reference_wrapper<ibutton_control> > xtd::forms::form::cancel_button ( ) const
inline

Gets the button control that is clicked when the user presses the ESC key.

Returns
An ibutton_control that represents the cancel button for the form.

◆ cancel_button() [2/3]

form& xtd::forms::form::cancel_button ( const ibutton_control value)

Gets the button control that is clicked when the user presses the ESC key.

Parameters
valueAn ibutton_control that represents the cancel button for the form.
Returns
Current form.

◆ cancel_button() [3/3]

form& xtd::forms::form::cancel_button ( nullptr_t  )

Gets the button control that is clicked when the user presses the ESC key.

Parameters
valueAn ibutton_control that represents the cancel button for the form.
Returns
Current form.

◆ center_to_screen()

void xtd::forms::form::center_to_screen ( )

Centers the position of the form within the bounds of the parent form.

Remarks
Do not call the center_to_screen method directly from your code. Instead, set the start_position property to center_parent.
If the form or dialog is top-level, then center_to_parent centers the form with respect to the screen or desktop.

◆ close()

void xtd::forms::form::close ( )

Closes the form.

Remarks
When a form is closed, all resources created within the object are closed and the form is disposed. You can prevent the closing of a form at run time by handling the closing event and setting the cancel property of the cancel_event_args passed as a parameter to your event handler. If the form you are closing is the startup form of your application, your application ends.

◆ close_box() [1/2]

virtual bool xtd::forms::form::close_box ( ) const
inlinevirtual

Gets a value indicating whether a close box is displayed in the caption bar of the form.

Returns
true if the form displays a close box in the upper-left corner of the form; otherwise, false. The default is true.

◆ close_box() [2/2]

virtual form& xtd::forms::form::close_box ( bool  value)
virtual

Sets a value indicating whether a close box is displayed in the caption bar of the form.

Parameters
valuetrue if the form displays a close box in the upper-left corner of the form; otherwise, false. The default is true.
Returns
Current form.

◆ control_box() [1/2]

virtual bool xtd::forms::form::control_box ( ) const
inlinevirtual

Gets a value indicating whether a control box is displayed in the caption bar of the form.

Returns
true if the form displays a control box in the upper-right corner of the form; otherwise, false. The default is true.

◆ control_box() [2/2]

virtual form& xtd::forms::form::control_box ( bool  value)
virtual

Sets a value indicating whether a control box is displayed in the caption bar of the form.

Parameters
valuetrue if the form displays a control box in the upper-right corner of the form; otherwise, false. The default is true.
Returns
Current form.

◆ create_params()

forms::create_params xtd::forms::form::create_params ( ) const
overrideprotectedvirtual

Gets the required creation parameters when the control handle is created.

Returns
A create_params that contains the required creation parameters when the handle to the control is created.
Remarks
The create_params property should not be overridden and used to adjust the properties of your derived control. Properties such as the create_params::caption, create_params::width, and create_params::height should be set by the corresponding properties in your control such as control::text, control::width and control::height. The create_params should only be extended when you are wrapping a standard Windows control class or to set styles not provided by the forms namespace.
Notes for inheritors
When overriding the create_params property in a derived class, use the base class's create_params property to extend the base implementation. Otherwise, you must provide all the implementation.

Reimplemented from xtd::forms::control.

◆ default_size()

drawing::size xtd::forms::form::default_size ( ) const
inlineoverridevirtual

Gets the default size of the control.

Returns
The default size of the control.

Reimplemented from xtd::forms::control.

◆ dialog_result() [1/2]

virtual forms::dialog_result xtd::forms::form::dialog_result ( ) const
inlinevirtual

Gets the dialog result for the form.

Returns
A dialog_result that represents the result of the form when used as a dialog box.

◆ dialog_result() [2/2]

virtual form& xtd::forms::form::dialog_result ( forms::dialog_result  value)
virtual

Sets the dialog result for the form.

Parameters
valueA dialog_result that represents the result of the form when used as a dialog box.
Returns
Current form.

◆ form_border_style() [1/2]

virtual forms::form_border_style xtd::forms::form::form_border_style ( ) const
inlinevirtual

Gets the border style of the form.

Returns
A form_border_style that represents the style of border to display for the form. The default is form_border_style::sizable.

◆ form_border_style() [2/2]

virtual form& xtd::forms::form::form_border_style ( forms::form_border_style  value)
virtual

Gets the border style of the form.

Parameters
valueA form_border_style that represents the style of border to display for the form. The default is form_border_style::sizable.
Returns
Current form.

◆ help_button() [1/2]

virtual bool xtd::forms::form::help_button ( ) const
inlinevirtual

Gets a value indicating whether a Help button should be displayed in the caption box of the form.

Returns
true to display a Help button in the form's caption bar; otherwise, false. The default is false.

◆ help_button() [2/2]

virtual form& xtd::forms::form::help_button ( bool  value)
virtual

Sets a value indicating whether a Help button should be displayed in the caption box of the form.

Parameters
valuetrue to display a Help button in the form's caption bar; otherwise, false. The default is false.
Returns
Current form.

◆ icon() [1/2]

virtual const xtd::drawing::icon& xtd::forms::form::icon ( ) const
inlinevirtual

Gets the icon for the form.

Returns
An icon that represents the icon for the form.

◆ icon() [2/2]

virtual form& xtd::forms::form::icon ( const xtd::drawing::icon value)
virtual

Sets the icon for the form.

Parameters
valueAn icon that represents the icon for the form.
Returns
Current form.

◆ maximize_box() [1/2]

virtual bool xtd::forms::form::maximize_box ( ) const
inlinevirtual

Gets a value indicating whether the Maximize button is displayed in the caption bar of the form.

Returns
true to display a Maximize button for the form; otherwise, false. The default is true.

◆ maximize_box() [2/2]

virtual form& xtd::forms::form::maximize_box ( bool  value)
virtual

Sets a value indicating whether the Maximize button is displayed in the caption bar of the form.

Parameters
valuetrue to display a Maximize button for the form; otherwise, false. The default is true.
Returns
Current form.

◆ menu() [1/3]

virtual std::optional<forms::main_menu> xtd::forms::form::menu ( ) const
inlinevirtual

Gets the main_menu that is displayed in the form.

Returns
A main_menu that represents the menu to display in the form.

◆ menu() [2/3]

virtual form& xtd::forms::form::menu ( const forms::main_menu value)
virtual

Sets the main_menu that is displayed in the form.

Parameters
valueA main_menu that represents the menu to display in the form.
Returns
Current form.

◆ menu() [3/3]

virtual form& xtd::forms::form::menu ( nullptr_t  )
virtual

Sets the main_menu that is displayed in the form.

Parameters
valueA main_menu that represents the menu to display in the form.
Returns
Current form.

◆ minimize_box() [1/2]

virtual bool xtd::forms::form::minimize_box ( ) const
inlinevirtual

Gets a value indicating whether the Minimize button is displayed in the caption bar of the form.

Returns
true to display a Minimize button for the form; otherwise, false. The default is true.

◆ minimize_box() [2/2]

virtual form& xtd::forms::form::minimize_box ( bool  value)
virtual

Sets a value indicating whether the Minimize button is displayed in the caption bar of the form.

Parameters
valuetrue to display a Minimize button for the form; otherwise, false. The default is true.
Returns
Current form.

◆ modal()

bool xtd::forms::form::modal ( ) const
inline

Gets a value indicating whether this form is displayed modally.

Returns
true if the form is displayed modally; otherwise, false.

◆ on_activated()

virtual void xtd::forms::form::on_activated ( const event_args e)
inlineprotectedvirtual

Raises the form::activated event.

Parameters
eAn event_args that contains the event data.

◆ on_deactivate()

virtual void xtd::forms::form::on_deactivate ( const event_args e)
inlineprotectedvirtual

Raises the form::deactivate event.

Parameters
eAn event_args that contains the event data.

◆ on_form_closed()

virtual void xtd::forms::form::on_form_closed ( const form_closed_event_args e)
inlineprotectedvirtual

Raises the form::form_closed event.

Parameters
eA form_closed_event_args that contains the event data.

◆ on_form_closing()

virtual void xtd::forms::form::on_form_closing ( form_closing_event_args e)
inlineprotectedvirtual

Raises the form::form_closing event.

Parameters
eA form_closing_event_args that contains the event data.

Reimplemented in xtd::forms::trace_form_base.

◆ on_handle_created()

void xtd::forms::form::on_handle_created ( const event_args e)
overrideprotectedvirtual

Raises the control::handle_created event.

Parameters
eAn xtd::event_args that contains the event data.

Reimplemented from xtd::forms::control.

◆ on_handle_destroyed()

void xtd::forms::form::on_handle_destroyed ( const event_args e)
overrideprotectedvirtual

Raises the control::handle_destroyed event.

Parameters
eAn xtd::event_args that contains the event data.

Reimplemented from xtd::forms::control.

◆ on_layout()

void xtd::forms::form::on_layout ( const event_args e)
overrideprotectedvirtual

Raises the control::layout event.

Parameters
eAn xtd::event_args that contains the event data.

Reimplemented from xtd::forms::control.

◆ on_location_changed()

void xtd::forms::form::on_location_changed ( const event_args e)
overrideprotectedvirtual

Raises the control::location_changed event.

Parameters
eAn xtd::event_args that contains the event data.

Reimplemented from xtd::forms::control.

◆ on_resize()

void xtd::forms::form::on_resize ( const event_args e)
overrideprotectedvirtual

Raises the control::resize event.

Parameters
eAn xtd::event_args that contains the event data.

Reimplemented from xtd::forms::control.

◆ opacity() [1/2]

virtual double xtd::forms::form::opacity ( ) const
inlinevirtual

Gets form opacity.

Returns
A double-precision value between 0.0 and 1.0 that represent the form opacity.

◆ opacity() [2/2]

virtual form& xtd::forms::form::opacity ( double  opacity)
virtual

Sets form opacity.

Parameters
opacityA double-precision value between 0.0 and 1.0 that represent the form opacity.

◆ owner() [1/2]

virtual std::optional<control_ref> xtd::forms::form::owner ( ) const
inlinevirtual

Gets the form that owns this form.

Returns
A form that represents the form that is the owner of this form.

◆ owner() [2/2]

virtual form& xtd::forms::form::owner ( const control value)
virtual

Sets the form that owns this form.

Parameters
valueA form that represents the form that is the owner of this form.
Returns
Current form.

◆ parent()

control& xtd::forms::form::parent ( const control value)
overridevirtual

Sets the parent container of the control.

Parameters
parentA control that represents the parent or container control of the control or nullptr for none.

Reimplemented from xtd::forms::control.

Examples:
timer.cpp.

◆ pre_process_message()

bool xtd::forms::form::pre_process_message ( xtd::forms::message message)
overridevirtual

Preprocesses keyboard or input messages within the message loop before they are dispatched.

Parameters
messageA xtd::forms::message, passed by reference, that represents the message to process. The possible values are WM_KEYDOWN, WM_SYSKEYDOWN, WM_CHAR, and WM_SYSCHAR.
Returns
true if the message was processed by the control; otherwise, false.
Remarks
pre_process_message is called by the application's message loop to preprocess input messages before they are dispatched. Possible values for the msg parameter are WM_KEYDOWN, WM_SYSKEYDOWN, WM_CHAR, and WM_SYSCHAR.

Reimplemented from xtd::forms::control.

◆ show_dialog() [1/2]

virtual forms::dialog_result xtd::forms::form::show_dialog ( )
virtual

Shows the form as a modal dialog box.

Returns
One of the dialog_result values.

◆ show_dialog() [2/2]

virtual forms::dialog_result xtd::forms::form::show_dialog ( const iwin32_window owner)
virtual

Shows the form as a modal dialog box with the specified owner. owner Any object that implements iwin32_window that represents the top-level window that will own the modal dialog box.

Returns
One of the dialog_result values.

◆ show_icon() [1/2]

virtual bool xtd::forms::form::show_icon ( ) const
inlinevirtual

Gets a value indicating whether an icon is displayed in the caption bar of the form.

Returns
true if the form displays an icon in the caption bar; otherwise, false. The default is true.

◆ show_icon() [2/2]

virtual form& xtd::forms::form::show_icon ( bool  value)
virtual

Sets a value indicating whether an icon is displayed in the caption bar of the form.

Parameters
valuetrue if the form displays an icon in the caption bar; otherwise, false. The default is true.
Returns
Current form.

◆ show_sheet()

virtual void xtd::forms::form::show_sheet ( const iwin32_window owner)
virtual

Shows the form as a sheet dialog box.

Remarks
dialog_result property contains the rresult when the form will closed.
Sheet mode is only avaible on macOS. For other platform show_dialog is underlying called.

◆ show_sheet_dialog()

virtual forms::dialog_result xtd::forms::form::show_sheet_dialog ( const iwin32_window owner)
virtual

Shows the form as a modal sheet dialog box.

Returns
One of the dialog_result values.
Remarks
Sheet mode is only avaible on macOS. For other platform show_dialog is underlying called.

◆ start_position() [1/2]

virtual form_start_position xtd::forms::form::start_position ( ) const
inlinevirtual

Gets the starting position of the form at run time.

Returns
A form_start_position that represents the starting position of the form.
Examples:
lcd_label2.cpp, and screen.cpp.

◆ start_position() [2/2]

virtual form& xtd::forms::form::start_position ( form_start_position  value)
virtual

Sets the starting position of the form at run time.

Parameters
valueA form_start_position that represents the starting position of the form.
Returns
Current form.

◆ top_level() [1/2]

virtual bool xtd::forms::form::top_level ( ) const
inlinevirtual

Gets a value indicating whether to display the form as a top-level window.

Returns
true to display the form as a top-level window; otherwise, false. The default is true.
Remarks
A Multiple-document interface (MDI) parent form must be a top-level window. So set to false has no effect.
A top-level form is a window that has no parent form, or whose parent form is the desktop window. Top-level windows are typically used as the main form in an application.

◆ top_level() [2/2]

virtual form& xtd::forms::form::top_level ( bool  top_level)
virtual

Sets a value indicating whether to display the form as a top-level window.

Returns
true to display the form as a top-level window; otherwise, false. The default is true.
Remarks
A Multiple-document interface (MDI) parent form must be a top-level window. So set to false has no effect.
A top-level form is a window that has no parent form, or whose parent form is the desktop window. Top-level windows are typically used as the main form in an application.

◆ top_most() [1/2]

virtual bool xtd::forms::form::top_most ( ) const
inlinevirtual

Gets a value indicating whether the form should be displayed as a topmost form.

Returns
true to display the form as a topmost form; otherwise, false. The default is false.

◆ top_most() [2/2]

virtual form& xtd::forms::form::top_most ( bool  value)
virtual

Sets a value indicating whether the form should be displayed as a topmost form.

Parameters
valuetrue to display the form as a topmost form; otherwise, false. The default is false.
Returns
Current form.

◆ visible()

control& xtd::forms::form::visible ( bool  visible)
overridevirtual

Sets a value indicating whether the control and all its child controls are displayed.

Parameters
visibletrue if the control and all its child controls are displayed; otherwise, false. The default is true.
Returns
Current control.

Reimplemented from xtd::forms::control.

Examples:
screen.cpp.

◆ window_state() [1/2]

virtual form_window_state xtd::forms::form::window_state ( ) const
inlinevirtual

Gets a value that indicates whether form is minimized, maximized, or normal.

Returns
A form_window_state that represents whether form is minimized, maximized, full_screen, or normal. The default is form_window_state::normal.

◆ window_state() [2/2]

virtual form& xtd::forms::form::window_state ( form_window_state  value)
virtual

Sets a value that indicates whether form is minimized, maximized, or normal.

Parameters
valueA form_window_state that represents whether form is minimized, maximized, full_screen, or normal. The default is form_window_state::normal.
Returns
Current form.

◆ wm_activate()

virtual void xtd::forms::form::wm_activate ( message message)
protectedvirtual

Processes the active message the form control receives as the top-level window.

Parameters
messageThe message sent to the top-level window.

◆ wm_close()

virtual void xtd::forms::form::wm_close ( message message)
protectedvirtual

Processes the close message the form control receives as the top-level window.

Parameters
messageThe message sent to the top-level window.

◆ wnd_proc()

void xtd::forms::form::wnd_proc ( message m)
overrideprotectedvirtual

Processes Windows messages.

Parameters
mThe Windows Message to process.
Remarks
All messages are sent to the wnd_proc method after getting filtered through the pre_process_message method.
Notes to Inheritors
Inheriting controls should call the base class's wnd_proc(message&) method to process any messages that they do not handle.

Reimplemented from xtd::forms::control.


The documentation for this class was generated from the following file: