xtd 0.2.0
Loading...
Searching...
No Matches
xtd::forms::list_box Class Reference
Inheritance diagram for xtd::forms::list_box:
xtd::forms::list_control xtd::forms::control xtd::forms::component xtd::forms::iwin32_window xtd::iclonable xtd::icomparable< control > xtd::iequatable< control > xtd::isynchronize_invoke xtd::object xtd::interface xtd::interface xtd::interface xtd::interface xtd::interface xtd::forms::checked_list_box

Definition

Represents a standard Windows list box.

Header
#include <xtd/forms/list_box>
Namespace
xtd::forms
Library
xtd.forms
Appearance
Windows macOS Gnome
Light  
 
 
 
 
 
Dark  
 
 
 
 
 
Examples
The following code example demonstrates the use of list_box control.
#include <xtd/forms/application>
#include <xtd/forms/form>
#include <xtd/forms/horizontal_layout_panel>
#include <xtd/forms/list_box>
using namespace xtd;
using namespace xtd::forms;
namespace list_box_example {
class form1 : public form {
public:
form1() {
text("List box example");
client_size({360, 240});
layout_panel.parent(*this);
layout_panel.controls().push_back_range({list_box_left, list_box_right});
layout_panel.control_layout_style(list_box_left, {size_type::auto_size, true});
layout_panel.control_layout_style(list_box_right, {size_type::auto_size, true});
layout_panel.dock(dock_style::fill);
layout_panel.padding(forms::padding(20));
list_box_left.double_click += [&] {
if (list_box_left.selected_index() != list_box_left.npos) {
list_box_right.items().push_back(list_box_left.selected_item());
list_box_right.selected_index(0);
list_box_left.items().erase_at(list_box_left.selected_index());
}
};
list_box_right.sorted(true);
list_box_right.double_click += [&] {
if (list_box_right.selected_index() != list_box_right.npos) {
list_box_left.items().push_back(list_box_right.selected_item());
list_box_left.selected_index(0);
list_box_right.items().erase_at(list_box_right.selected_index());
}
};
list_box_left.items().push_back_range({"draw", "cut", "paste", "delete", "open", "close", "remove", "edit", "find", "increment", "decrement", "write", "read", "post", "build", "make", "release", "create", "choose", "erase"});
list_box_left.selected_index(0);
}
private:
list_box list_box_left;
list_box list_box_right;
};
}
auto main() -> int {
application::run(list_box_example::form1 {});
}
static void run()
Begins running a standard application message loop on the current thread, without a form.
Represents a window or dialog box that makes up an application's user interface.
Definition form.h:54
Used to group collections of horizontally aligned controls.
Definition horizontal_layout_panel.h:30
Represents a standard Windows list box.
Definition list_box.h:33
Represents a display device or multiple display devices on a single system.
Definition padding.h:25
@ text
The xtd::forms::status_bar_panel displays text in the standard font.
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition xtd_about_box.h:12
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Examples
application_enable_dark_mode.cpp, application_enable_light_mode.cpp, change_parent.cpp, context_menu.cpp, countries.cpp, cursors.cpp, demo.cpp, font_families.cpp, form_and_thread.cpp, list_box.cpp, loading_indicator.cpp, main_menu.cpp, main_menu_create_standard_items.cpp, popup_form.cpp, popup_panel.cpp, send_message_to_form.cpp, some_controls.cpp, some_system_controls.cpp, texts.cpp, themes.cpp, and tool_bar.cpp.

Public Aliases

using selected_index_collection = std::vector< size_t >
 Represents the collection containing the indexes to the selected items in a list_box.
 
using selected_object_collection = std::vector< item >
 Represents the collection of selected items in the list_box.
 

Public Constructors

 list_box ()
 Initializes a new instance of the list_box class.
 

Public Properties

virtual forms::border_sides border_sides () const noexcept
 Gets the border sides for the control.
 
virtual list_boxborder_sides (forms::border_sides border_sides)
 Sets the border sides for the control.
 
virtual forms::border_style border_style () const noexcept
 Gets the type of border that is drawn around the list_box.
 
virtual list_boxborder_style (forms::border_style border_style)
 Sets the type of border that is drawn around the list_box.
 
virtual list_boxborder_style (std::nullptr_t)
 Resets the border style for the control.
 
object_collectionitems () noexcept
 Gets the items of the list_box.
 
const object_collectionitems () const noexcept
 Gets the items of the list_box.
 
const list_boxitems (const object_collection &items)
 Sets the items of the list_box.
 
list_controlselected_index (size_t selected_index) override
 When overridden in a derived class, Sets the zero-based index of the currently selected item.
 
virtual selected_index_collection selected_indices () const noexcept
 Gets a collection that contains the zero-based indexes of all currently selected items in the list_box.
 
const itemselected_item () const noexcept
 Gets the currently selected item in the list_box.
 
list_boxselected_item (const item &selected_item)
 Sets the currently selected item in the list_box.
 
selected_object_collection selected_items () const noexcept
 Gets a collection containing the currently selected items in the list_box.
 
virtual forms::selection_mode selection_mode () const noexcept
 Gets the method in which items are selected in the list_box.
 
virtual list_boxselection_mode (forms::selection_mode selection_mode)
 Sets the method in which items are selected in the list_box.
 
virtual bool sorted () const noexcept
 Gets a value indicating whether the items in the list_box are sorted alphabetically.
 
virtual list_boxsorted (bool sorted)
 Sets a value indicating whether the items in the list_box are sorted alphabetically.
 
controltext (const xtd::ustring &text) override
 Sets the text associated with this control.
 
virtual size_t selected_index () const noexcept
 Gets the zero-based index of the currently selected item.
 
virtual list_controlselected_index (size_t selected_index)=0
 When overridden in a derived class, Sets the zero-based index of the currently selected item.
 

Public Methods

void begin_update ()
 Maintains performance while items are added to the list_box one at a time by preventing the control from drawing until the EndUpdate() method is called.
 
void end_update ()
 Resumes painting the list_box control after painting is suspended by the begin_update method.
 

Public Static Methods

static list_box create ()
 A factory to create an xtd::forms::list_box.
 
static list_box create (const drawing::point &location)
 A factory to create an xtd::forms::list_box with specified location.
 
static list_box create (const drawing::point &location, const drawing::size &size)
 A factory to create an xtd::forms::list_box with specified location, and size.
 
static list_box create (const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create an xtd::forms::list_box with specified location, size, and name.
 
static list_box create (const object_collection &items)
 A factory to create an xtd::forms::list_box with specified items.
 
static list_box create (const object_collection &items, const drawing::point &location)
 A factory to create an xtd::forms::list_box with specified items, and location.
 
static list_box create (const object_collection &items, const drawing::point &location, const drawing::size &size)
 A factory to create an xtd::forms::list_box with specified items, location, and size.
 
static list_box create (const object_collection &items, const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create an xtd::forms::list_box with specified items, location, size, and name.
 
static list_box create (const object_collection &items, size_t selected_index)
 A factory to create an xtd::forms::list_box with specified items, and selected_index.
 
static list_box create (const object_collection &items, size_t selected_index, const drawing::point &location)
 A factory to create an xtd::forms::list_box with specified items, selected_index, and location.
 
static list_box create (const object_collection &items, size_t selected_index, const drawing::point &location, const drawing::size &size)
 A factory to create an xtd::forms::list_box with specified items, selected_index, location, and size.
 
static list_box create (const object_collection &items, size_t selected_index, const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create an xtd::forms::list_box with specified items, selected_index, location, size, and name.
 
static list_box create (const control &parent)
 A factory to create an xtd::forms::list_box with specified parent.
 
static list_box create (const control &parent, const drawing::point &location)
 A factory to create an xtd::forms::list_box with specified parent, and location.
 
static list_box create (const control &parent, const drawing::point &location, const drawing::size &size)
 A factory to create an xtd::forms::list_box with specified parent, location, and size.
 
static list_box create (const control &parent, const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create an xtd::forms::list_box with specified parent, location, size, and name.
 
static list_box create (const control &parent, const object_collection &items)
 A factory to create an xtd::forms::list_box with specified parent, and items.
 
static list_box create (const control &parent, const object_collection &items, const drawing::point &location)
 A factory to create an xtd::forms::list_box with specified parent, items, and location.
 
static list_box create (const control &parent, const object_collection &items, const drawing::point &location, const drawing::size &size)
 A factory to create an xtd::forms::list_box with specified parent, items, location, and size.
 
static list_box create (const control &parent, const object_collection &items, const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create an xtd::forms::list_box with specified parent, items, location, size, and name.
 
static list_box create (const control &parent, const object_collection &items, size_t selected_index)
 A factory to create an xtd::forms::list_box with specified parent, items, and selected_index.
 
static list_box create (const control &parent, const object_collection &items, size_t selected_index, const drawing::point &location)
 A factory to create an xtd::forms::list_box with specified parent, items, selected_index, and location.
 
static list_box create (const control &parent, const object_collection &items, size_t selected_index, const drawing::point &location, const drawing::size &size)
 A factory to create an xtd::forms::list_box with specified parent, items, selected_index, location, and size.
 
static list_box create (const control &parent, const object_collection &items, size_t selected_index, const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create an xtd::forms::list_box with specified parent, items, selected_index, location, size, and name.
 

Protetced properties

bool allow_selection () const noexcept override
 Gets a value indicating whether the list enables selection of list items.
 
forms::create_params create_params () const noexcept override
 Gets the required creation parameters when the control handle is created.
 
drawing::color default_back_color () const noexcept override
 Gets the default background color of the control.
 
drawing::color default_fore_color () const noexcept override
 Gets the default foreground color of the control.
 

Protetced methods

xtd::uptr< xtd::objectclone () const override
 Creates a new object that is a copy of the current instance.
 
void on_handle_created (const event_args &e) override
 Raises the xtd::forms::control::handle_created event.
 
void on_selected_value_changed (const event_args &e) override
 Raises the list_control::selected_value_changed event.
 
void wnd_proc (message &message) override
 Processes Windows messages.
 

Additional Inherited Members

- Public Types inherited from xtd::forms::list_control
using object_collection = layout::arranged_element_collection< item, item::sorter >
 Represents the collection of items in a list_control.
 
- Public Types inherited from xtd::forms::control
using context_menu_ref = std::reference_wrapper< xtd::forms::context_menu >
 Represent an xtd::forms::context_menu reference.
 
- Public Attributes inherited from xtd::forms::list_control
event< list_control, event_handlerselected_index_changed
 Occurs when the selected_index property changes.
 
event< list_control, event_handlerselected_value_changed
 Occurs when the selected_value property changes.
 
- Public Attributes inherited from xtd::forms::control
event< control, event_handlerauto_size_changed
 Occurs when the value of the xtd::forms::control::auto_size property changes.
 
event< control, event_handlerback_color_changed
 Occurs when the value of the xtd::forms::control::back_color property changes.
 
event< control, event_handlerbackground_image_changed
 Occurs when the value of the xtd::forms::control::background_image property changes.
 
event< control, event_handlerbackground_image_layout_changed
 Occurs when the value of the xtd::forms::control::background_image_layout property changes.
 
event< control, event_handlercontrol_appearance_changed
 Occurs when the value of the xtd::forms::control::control_appearance property changes.
 
event< control, event_handlerclick
 Occurs when the xtd::forms::control is clicked.
 
event< control, event_handlerclient_size_changed
 Occurs when the value of the xtd::forms::control::client_size property changes.
 
event< control, event_handlercursor_changed
 Occurs when the value of the xtd::forms::control::cursor property changes.
 
event< control, control_event_handlercontrol_added
 Occurs when a new xtd::forms::control::control is added to the xtd::forms::control::control_collection.
 
event< control, control_event_handlercontrol_removed
 Occurs when a new xtd::forms::control:: is removed to the xtd::forms::control::control_collection.
 
event< control, event_handlerdock_changed
 Occurs when the value of the xtd::forms::control::dock property changes.
 
event< control, event_handlerdouble_click
 Occurs when the xtd::forms::control is double-clicked.
 
event< control, event_handlergot_focus
 Occurs when the xtd::forms::control receives focus.
 
event< control, event_handlerhandle_created
 Occurs when a handle is created for the xtd::forms::control.
 
event< control, event_handlerhandle_destroyed
 Occurs when the control's handle is in the process of being destroyed.
 
event< control, event_handlerenabled_changed
 Occurs when the value of the xtd::forms::control::enabled property changes.
 
event< control, event_handlerfore_color_changed
 Occurs when the value of the xtd::forms::control::fore_color property changes.
 
event< control, event_handlerfont_changed
 Occurs when the value of the xtd::forms::control::font property changes.
 
event< control, help_event_handlerhelp_requested
 Occurs when the user requests help for a xtd::forms::control.
 
event< control, key_event_handlerkey_down
 Occurs when a key is pressed while the xtd::forms::control has focus.
 
event< control, key_press_event_handlerkey_press
 Occurs when a character. space or backspace key is pressed while the xtd::forms::control has focus.
 
event< control, key_event_handlerkey_up
 Occurs when a key is released while the xtd::forms::control has focus.
 
event< control, event_handlerlayout
 Occurs when a xtd::forms::control should reposition its child controls.
 
event< control, event_handlerlocation_changed
 Occurs when the value of the xtd::forms::control::location property changes.
 
event< control, event_handlerlost_focus
 Occurs when the xtd::forms::control loses focus.
 
event< control, mouse_event_handlermouse_click
 Occurs when the xtd::forms::control is clicked by the mouse.
 
event< control, mouse_event_handlermouse_double_click
 Occurs when the xtd::forms::control is double clicked by the mouse.
 
event< control, mouse_event_handlermouse_down
 Occurs when the mouse pointer is over the xtd::forms::control and a mouse button is pressed.
 
event< control, event_handlermouse_enter
 Occurs when the mouse pointer enters the xtd::forms::control.
 
event< control, mouse_event_handlermouse_horizontal_wheel
 Occurs when the mouse horizontal wheel moves while the xtd::forms::control has focus.
 
event< control, event_handlermouse_leave
 Occurs when the mouse pointer leaves the xtd::forms::control.
 
event< control, mouse_event_handlermouse_move
 Occurs when the mouse pointer is moved over the xtd::forms::control.
 
event< control, mouse_event_handlermouse_up
 Occurs when the mouse pointer is over the xtd::forms::control and a mouse button is released.
 
event< control, mouse_event_handlermouse_wheel
 Occurs when the mouse wheel moves while the xtd::forms::control has focus.
 
event< control, event_handlermove
 Occurs when the control is moved.
 
event< control, paint_event_handlerpaint
 Occurs when the xtd::forms::control is redrawn.
 
event< control, event_handlerparent_changed
 Occurs when the value of the xtd::forms::control::parent property changes.
 
event< control, event_handlerregion_changed
 Occurs when the value of the xtd::forms::control::region property changes.
 
event< control, event_handlerresize
 Occurs when the xtd::forms::control is resized.
 
event< control, event_handlerright_to_left_changed
 Occurs when the value of the xtd::forms::control::right_to_left property changes.
 
event< control, event_handlersize_changed
 Occurs when the value of the xtd::forms::control::size property changes.
 
event< control, event_handlerstyle_sheet_changed
 Occurs when the value of the xtd::forms::control::style_sheet property changes or when xtd::application::style_sheet property changes.
 
event< control, event_handlersystem_colors_changed
 Occurs when the xtd::drwing::system_colors changes.
 
event< control, event_handlertab_stop_changed
 Occurs when the xtd::forms::control::tab_stop property value changes.
 
event< control, event_handlertext_changed
 Occurs when the value of the xtd::forms::control::text property changes.
 
event< control, event_handlervisible_changed
 Occurs when the value of the xtd::forms::control::visible property changes.
 
- Static Public Attributes inherited from xtd::forms::list_control
static const size_t npos
 This is a special value equal to the maximum value representable by the type size_t.
 
- Public Member Functions inherited from xtd::forms::list_control
- Public Member Functions inherited from xtd::forms::control
 control ()
 Initializes a new instance of the xtd::forms::control class with default settings.
 
 control (const xtd::ustring &text)
 Initializes a new instance of the xtd::forms::control class with specific text.
 
 control (const control &parent, const xtd::ustring &text)
 Initializes a new instance of the xtd::forms::control class as a child control, with specific text.
 
 control (const xtd::ustring &text, int32 left, int32 top, int32 width, int32 height)
 Initializes a new instance of the control class with specific text, size, and location.
 
 control (const control &parent, const xtd::ustring &text, int32 left, int32 top, int32 width, int32 height)
 Initializes a new instance of the xtd::forms::control class as a child control, with specific text, size, and location.
 
virtual anchor_styles anchor () const noexcept
 Gets the edges of the container to which a control is bound and determines how a control is resized with its parent.
 
virtual controlanchor (xtd::forms::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.
 
virtual drawing::point auto_scroll_point () const noexcept
 Gets where this control is scrolled to in scroll_control_into_view(control).
 
virtual bool auto_size () const noexcept
 Gets a value that indicates whether the control resizes based on its contents.
 
virtual controlauto_size (bool auto_size)
 Sets a value that indicates whether the control resizes based on its contents.
 
virtual drawing::color back_color () const noexcept
 Gets the background color for the control.
 
virtual controlback_color (const xtd::drawing::color &color)
 Sets the background color for the control.
 
virtual const xtd::drawing::imagebackground_image () const noexcept
 Gets the background image displayed in the control.
 
virtual controlbackground_image (const xtd::drawing::image &background_image)
 Sets the background image displayed in the control.
 
virtual xtd::forms::image_layout background_image_layout () const noexcept
 Gets the background image layout as defined in the xtd::forms::image_layout enumeration.
 
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.
 
virtual int32 bottom () const noexcept
 Gets the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area.
 
virtual drawing::rectangle bounds () const noexcept
 Gets the size and location of the control including its nonclient elements, in pixels, relative to the parent control.
 
virtual controlbounds (const xtd::drawing::rectangle &bounds)
 Sets the size and location of the control including its nonclient elements, in pixels, relative to the parent control.
 
virtual bool can_focus () const noexcept
 Gets a value indicating whether the control can receive focus.
 
virtual bool can_select () const noexcept
 Gets a value indicating whether the control can be selected.
 
bool can_raise_events () const noexcept override
 Determines if events can be raised on the control.
 
virtual const drawing::rectangleclient_rectangle () const noexcept
 Gets the rectangle that represents the client area of the control.
 
virtual const drawing::sizeclient_size () const noexcept
 Gets the height and width of the client area of the control.
 
virtual controlclient_size (const xtd::drawing::size &client_size)
 Sets the height and width of the client area of the control.
 
virtual xtd::ustring company_name () const noexcept
 Gets the name of the company or creator of the application containing the control.
 
virtual std::optional< context_menu_refcontext_menu () const noexcept
 Gets the xtd::forms::context_menu that is displayed in the control.
 
virtual controlcontext_menu (xtd::forms::context_menu &value)
 Sets the xtd::forms::context_menu that is displayed in the control.
 
virtual controlcontext_menu (std::nullptr_t)
 Sets the xtd::forms::context_menu that is displayed in the control.
 
virtual forms::control_appearance control_appearance () const noexcept
 Gets control appearance.
 
virtual controlcontrol_appearance (xtd::forms::control_appearance value)
 Sets control appearance.
 
virtual control_collectioncontrols () noexcept
 Gets the collection of controls contained within the control.
 
virtual const control_collectioncontrols () const noexcept
 Gets the collection of controls contained within the control.
 
virtual bool created () const noexcept
 Gets a value indicating whether the control has been created.
 
virtual forms::cursor cursor () const noexcept
 Gets the cursor that is displayed when the mouse pointer is over the control.
 
virtual controlcursor (const xtd::forms::cursor &cursor)
 Sets the cursor that is displayed when the mouse pointer is over the control.
 
virtual drawing::rectangle display_rectangle () const noexcept
 Gets the rectangle that represents the display area of the control.
 
virtual dock_style dock () const noexcept
 Gets which control borders are docked to its parent control and determines how a control is resized with its parent.
 
virtual controldock (xtd::forms::dock_style dock)
 Sets which control borders are docked to its parent control and determines how a control is resized with its parent.
 
virtual bool double_buffered () const noexcept
 Gets a value indicating whether this control should redraw its surface using a secondary buffer to reduce or prevent flicker.
 
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.
 
virtual bool enabled () const noexcept
 Gets a value indicating whether the control can respond to user interaction.
 
virtual controlenabled (bool enabled)
 Sets a value indicating whether the control can respond to user interaction.
 
virtual bool focused () const noexcept
 Gets a value indicating whether the control has input focus.
 
virtual drawing::font font () const noexcept
 Gets the font of the text displayed by the control.
 
virtual controlfont (const xtd::drawing::font &font)
 Sets the font of the text displayed by the control.
 
virtual drawing::color fore_color () const noexcept
 Gets the foreground color of the control.
 
virtual controlfore_color (const xtd::drawing::color &color)
 Sets the foreground color of the control.
 
intptr handle () const override
 Gets the window handle that the control is bound to.
 
virtual int32 height () const noexcept
 Gets the height of the control.
 
virtual controlheight (int32 height)
 Sets the height of the control.
 
bool invoke_required () const noexcept override
 Gets a value indicating whether the caller must call an invoke method when making method calls to the control because the caller is on a different thread than the one the control was created on.
 
bool is_handle_created () const noexcept
 Gets a value indicating whether the control has a handle associated with it.
 
virtual int32 left () const noexcept
 Gets the distance, in pixels, between the left edge of the control and the left edge of its container's client area.
 
virtual controlleft (int32 left)
 Sets the distance, in pixels, between the left edge of the control and the left edge of its container's client area.
 
virtual drawing::point location () const noexcept
 Gets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container.
 
virtual controllocation (const xtd::drawing::point &location)
 Sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container.
 
virtual forms::padding margin () const noexcept
 Gets the space between controls.
 
virtual controlmargin (const xtd::forms::padding &margin)
 Sets the space between controls.
 
virtual const drawing::sizemaximum_client_size () const noexcept
 Gets the client size that is the upper limit that xtd::forms::control::get_preferred_size can specify.
 
virtual controlmaximum_client_size (const xtd::drawing::size &size)
 Sets the client size that is the upper limit that xtd::forms::control::get_preferred_size can specify.
 
virtual const drawing::sizemaximum_size () const noexcept
 Gets the size that is the upper limit that xtd::forms::control::get_preferred_size can specify.
 
virtual controlmaximum_size (const xtd::drawing::size &size)
 Sets the size that is the upper limit that xtd::forms::control::get_preferred_size can specify.
 
virtual const drawing::sizeminimum_client_size () const noexcept
 Gets the client size that is the lower limit that xtd::forms::control::get_preferred_size can specify.
 
virtual controlminimum_client_size (const xtd::drawing::size &size)
 Sets the client size that is the lower limit that xtd::forms::control::get_preferred_size can specify.
 
virtual const drawing::sizeminimum_size () const noexcept
 Gets the size that is the lower limit that xtd::forms::control::get_preferred_size can specify.
 
virtual controlminimum_size (const xtd::drawing::size &size)
 Sets the size that is the lower limit that xtd::forms::control::get_preferred_size can specify.
 
intptr native_handle () const noexcept
 Gets the native handle that the control is bound to.
 
virtual const xtd::ustringname () const noexcept
 Gets the name of the control.
 
virtual controlname (const xtd::ustring &name)
 Sets the name of the control.
 
virtual forms::padding padding () const noexcept
 Gets padding within the control.
 
virtual controlpadding (const xtd::forms::padding &padding)
 Sets padding within the control.
 
virtual std::optional< control_refparent () const noexcept
 Gets the parent container of the control.
 
virtual controlparent (const control &parent)
 Sets the parent container of the control.
 
virtual controlparent (std::nullptr_t)
 Resets the parent container of the control.
 
virtual xtd::ustring product_name () const noexcept
 Gets the product name of the assembly containing the control.
 
bool recreating_handle () const noexcept
 Gets a value indicating whether the control is currently re-creating its handle.
 
virtual const xtd::drawing::regionregion () const noexcept
 Gets the window region associated with the control.
 
virtual controlregion (const xtd::drawing::region &value)
 Sets the window region associated with the control.
 
virtual int32 right () const noexcept
 Gets the distance, in pixels, between the right edge of the control and the left edge of its container's client area.
 
virtual xtd::forms::right_to_left right_to_left () const noexcept
 Gets a value indicating whether control's elements are aligned to support locales using right-to-left fonts.
 
virtual controlright_to_left (xtd::forms::right_to_left value)
 Sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts.
 
virtual drawing::size size () const noexcept
 Gets the height and width of the control.
 
virtual controlsize (const drawing::size &size)
 Sets the height and width of the control.
 
virtual style_sheets::style_sheet style_sheet () const noexcept
 Gets the contol style sheet.
 
virtual controlstyle_sheet (const style_sheets::style_sheet &value)
 Sets the contol style sheet.
 
virtual controlstyle_sheet (const xtd::ustring &value)
 Sets the contol style sheet.
 
virtual controlstyle_sheet (std::nullptr_t)
 Resets the contol style sheet.
 
virtual bool tab_stop () const noexcept
 Gets a value indicating whether the user can give the focus to this control using the TAB key.
 
virtual controltab_stop (bool value)
 Sets a value indicating whether the user can give the focus to this control using the TAB key.
 
virtual std::any tag () const noexcept
 Gets the object that contains data about the control.
 
virtual controltag (std::any tag)
 Sets the object that contains data about the control.
 
virtual const xtd::ustringtext () const noexcept
 Gets the text associated with this control.
 
intptr toolkit_handle () const noexcept
 Gets the toolkit handle that the control is bound to.
 
virtual int32 top () const noexcept
 Gets the distance, in pixels, between the top edge of the control and the top edge of its container's client area.
 
virtual controltop (int32 top)
 Sets the distance, in pixels, between the top edge of the control and the top edge of its container's client area.
 
virtual std::optional< control_reftop_level_control () const noexcept
 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.
 
virtual bool visible () const noexcept
 Gets a value indicating whether the control and all its child controls are displayed.
 
virtual controlvisible (bool visible)
 Sets a value indicating whether the control and all its child controls are displayed.
 
virtual int32 width () const noexcept
 Gets the width of the control.
 
virtual controlwidth (int32 width)
 Sets the width of the control.
 
xtd::async_result begin_invoke (delegate< void()> method) override
 Executes the specified delegate asynchronously on the thread that the control's underlying handle was created on.
 
xtd::async_result begin_invoke (delegate< void(std::vector< std::any >)> method, const std::vector< std::any > &args) override
 Executes the specified delegate asynchronously with the specified arguments, on the thread that the control's underlying handle was created on.
 
virtual void bring_to_front ()
 Brings the control to the front of the z-order.
 
int32 compare_to (const control &value) const noexcept override
 
void create_control ()
 Forces the creation of the visible control, including the creation of the handle and any visible child controls.
 
drawing::graphics create_graphics () const
 Creates the xtd::drawing::graphics for the control.
 
virtual void destroy_control ()
 Forces the destruction of the visible control, including the destruction of the handle and any visible child controls.
 
std::optional< object_refend_invoke (xtd::async_result async) override
 Retrieves the return value of the asynchronous operation represented by the async_result_invoke passed.
 
bool equals (const control &value) const noexcept override
 
bool focus ()
 Sets input focus to the control.
 
auto_size_mode get_auto_size_mode () const
 Gets a value indicating how a control will behave when its auto_size property is enabled.
 
size_t get_child_index (intptr child) const
 Retrieves the index of a control within the control collection.
 
size_t get_child_index (intptr 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.
 
virtual void hide ()
 Conceals the control from the user.
 
virtual void invalidate () const
 Invalidates the entire surface of the control and causes the control to be redrawn.
 
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.
 
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.
 
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.
 
virtual void invalidate (const drawing::region &region) 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.
 
virtual void invalidate (const drawing::region &region, 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.
 
std::optional< object_refinvoke (delegate< void()> method) override
 Executes the specified delegate on the thread that owns the control's underlying window handle.
 
std::optional< object_refinvoke (delegate< void(std::vector< std::any >)> method, const std::vector< std::any > &args) override
 Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments.
 
std::optional< object_refinvoke (delegate< void(std::vector< std::any >)> method, std::any arg) override
 Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments.
 
void perform_layout ()
 Forces the control to apply layout logic to all its child controls.
 
xtd::drawing::point point_to_client (const xtd::drawing::point &p) const
 Computes the location of the specified screen point into client coordinates.
 
xtd::drawing::point point_to_screen (const xtd::drawing::point &p) const
 Computes the location of the specified client point into screen coordinates.
 
bool post_message (intptr hwnd, int32 msg, intptr wparam, intptr lparam) const
 Places (posts) a message in the message queue with specified hwnd, message, wparam and lparam.
 
virtual bool pre_process_message (const xtd::forms::message &message)
 Preprocesses keyboard or input messages within the message loop before they are dispatched.
 
virtual void refresh () const
 Forces the control to invalidate its client area and immediately redraw itself and any child controls.
 
void resume_layout ()
 Resumes usual layout logic.
 
void resume_layout (bool perform_layout)
 Resumes usual layout logic, optionally forcing an immediate layout of pending layout requests.
 
intptr send_message (intptr hwnd, int32 msg, intptr wparam, intptr lparam) const
 Send a message with specified hwnd, message, wparam and lparam.
 
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.
 
void set_bounds (int32 x, int32 y, int32 width, int32 height)
 Sets the bounds of the control to the specified location and size.
 
void set_bounds (int32 x, int32 y, int32 width, int32 height, bounds_specified specified)
 Sets the specified bounds of the control to the specified location and size.
 
virtual void show ()
 Displays the control to the user.
 
void suspend_layout ()
 Temporarily suspends the layout logic for the control.
 
xtd::ustring to_string () const noexcept override
 Returns a string containing the name of the control, if any.
 
virtual void update () const
 Causes the control to redraw the invalidated regions within its client area.
 
virtual xtd::async_result begin_invoke (delegate< void()> method)=0
 Asynchronously executes the delegate on the thread that created this object.
 
virtual xtd::async_result begin_invoke (delegate< void(std::vector< std::any >)> value, const std::vector< std::any > &args)=0
 Asynchronously executes the delegate on the thread that created this object.
 
virtual bool equals (const object &obj) const noexcept
 Determines whether the specified object is equal to the current object.
 
virtual std::optional< object_refinvoke (delegate< void()> value)=0
 Synchronously executes the delegate on the thread that created this object and marshals the call to the creating thread.
 
virtual std::optional< object_refinvoke (delegate< void(std::vector< std::any >)> method, const std::vector< std::any > &args)=0
 Synchronously executes the delegate on the thread that created this object and marshals the call to the creating thread.
 
virtual std::optional< object_refinvoke (delegate< void(std::vector< std::any >)> method, std::any arg)=0
 Synchronously executes the delegate on the thread that created this object and marshals the call to the creating thread.
 
controloperator<< (control &child)
 Add child control.
 
controloperator>> (control &child)
 Remove child control.
 
- Public Member Functions inherited from xtd::object
 object ()=default
 Create a new instance of the ultimate base class object.
 
virtual size_t get_hash_code () const noexcept
 Serves as a hash function for a particular type.
 
virtual type_object get_type () const noexcept
 Gets the type of the current instance.
 
template<typename object_t >
xtd::uptr< object_t > memberwise_clone () const
 Creates a shallow copy of the current object.
 
- Public Member Functions inherited from xtd::forms::iwin32_window
- Public Member Functions inherited from xtd::iclonable
- Public Member Functions inherited from xtd::icomparable< control >
virtual int32 compare_to (const control &obj) const noexcept=0
 Compares the current instance with another object of the same type.
 
- Public Member Functions inherited from xtd::iequatable< control >
virtual bool equals (const control &) const noexcept=0
 Indicates wheth er the current object is equal to another object of the same type.
 
- Public Member Functions inherited from xtd::isynchronize_invoke
- Static Public Member Functions inherited from xtd::forms::control
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
static bool check_for_illegal_cross_thread_calls () noexcept
 Gets a value indicating whether to catch calls on the wrong thread that access a xtd::forms::contrtol::handle property when an application is being debugged.
 
static void check_for_illegal_cross_thread_calls (bool value)
 Sets a value indicating whether to catch calls on the wrong thread that access a xtd::forms::contrtol::handle property when an application is being debugged.
 
static forms::keys modifier_keys () noexcept
 Gets a value indicating which of the modifier keys (SHIFT, CTRL, and ALT) is in a pressed state.
 
static forms::mouse_buttons mouse_buttons () noexcept
 Gets a value indicating which of the mouse buttons is in a pressed state.
 
static xtd::drawing::point mouse_position () noexcept
 Gets the position of the mouse cursor in screen coordinates.
 
static control create ()
 A factory to create a specified control.
 
static control create (const drawing::point &location)
 A factory to create a specified control with specified location.
 
static control create (const drawing::point &location, const drawing::size &size)
 A factory to create a specified control with specified location, and size.
 
static control create (const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create a specified control with specified location, size, and name.
 
static control create (const control &paren)
 A factory to create a specified control with specified parent.
 
static control create (const control &parent, const drawing::point &location)
 A factory to create a specified control with specified parent, location, size, and name.
 
static control create (const control &parent, const drawing::point &location, const drawing::size &size)
 A factory to create a specified control with specified parent, location, and size.
 
static control create (const control &parent, const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create a specified control with specified parent, location, size, and name.
 
template<typename control_t >
static control_t create ()
 A factory to create a specified control.
 
template<typename control_t >
static control_t create (const drawing::point &location)
 A factory to create a specified control with specified location.
 
template<typename control_t >
static control_t create (const drawing::point &location, const drawing::size &size)
 A factory to create a specified control with specified location, and size.
 
template<typename control_t >
static control_t create (const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create a specified control with specified location, size, and name.
 
template<typename control_t >
static control_t create (const control &parent)
 A factory to create a specified control with specified parent.
 
template<typename control_t >
static control_t create (const control &parent, const drawing::point &location)
 A factory to create a specified control with specified parent, and location.
 
template<typename control_t >
static control_t create (const control &parent, const drawing::point &location, const drawing::size &size)
 A factory to create a specified control with specified parent, location, and size.
 
template<typename control_t >
static control_t create (const control &parent, const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create a specified control with specified parent, location, size, and name.
 
template<typename control_t >
static control_t create (const xtd::ustring &text)
 A factory to create a specified control with specified text.
 
template<typename control_t >
static control_t create (const xtd::ustring &text, const drawing::point &location)
 A factory to create a specified control with specified text, and location.
 
template<typename control_t >
static control_t create (const xtd::ustring &text, const drawing::point &location, const drawing::size &size)
 A factory to create a specified control with specified text, location, and size.
 
template<typename control_t >
static control_t create (const xtd::ustring &text, const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create a specified control with specified text, location,size, and name.
 
template<typename control_t >
static control_t create (const control &parent, const xtd::ustring &text)
 A factory to create a specified control with specified parent, and text.
 
template<typename control_t >
static control_t create (const control &parent, const xtd::ustring &text, const drawing::point &location)
 A factory to create a specified control with specified parent, text, and location.
 
template<typename control_t >
static control_t create (const control &parent, const xtd::ustring &text, const drawing::point &location, const drawing::size &size)
 A factory to create a specified control with specified parent, text, location, and size.
 
template<typename control_t >
static control_t create (const control &parent, const xtd::ustring &text, const drawing::point &location, const drawing::size &size, const xtd::ustring &name)
 A factory to create a specified control with specified parent, text, location, size, and name.
 
static std::optional< control_reffrom_child_handle (intptr handle)
 Retrieves the control that contains the specified handle.
 
static std::optional< control_reffrom_handle (intptr handle)
 Returns the control that is currently associated with the specified handle.
 
- Static Public Member Functions inherited from xtd::object
template<typename object_a_t , typename object_b_t >
static bool equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are considered equal.
 
template<typename object_a_t , typename object_b_t >
static bool reference_equals (const object_a_t &object_a, const object_b_t &object_b) noexcept
 Determines whether the specified object instances are the same instance.
 
- Protected Member Functions inherited from xtd::forms::list_control
 list_control ()
 Initializes a new instance of the list_control class.
 
drawing::color default_back_color () const noexcept override
 Gets the default background color of the control.
 
drawing::color default_fore_color () const noexcept override
 Gets the default foreground color of the control.
 
virtual void on_selected_index_changed (const event_args &e)
 Raises the list_control::selected_index_changed event.
 
void set_selected_index (size_t value)
 Sets the currently selected item.
 
- Protected Member Functions inherited from xtd::forms::control
xtd::forms::visual_styles::control_state control_state () const noexcept
 Gets state.
 
virtual forms::cursor default_cursor () const noexcept
 Gets the default cursor for the control.
 
virtual drawing::font default_font () const noexcept
 Gets the default font of the control.
 
virtual drawing::size default_size () const noexcept
 Gets the default size of the control.
 
virtual void create_handle ()
 Creates a handle for the control.
 
virtual void destroy_handle ()
 Destroys the handle associated with the control.
 
virtual void def_wnd_proc (message &message)
 Sends the specified message to the default window procedure.
 
bool get_style (control_styles flag) const noexcept
 Retrieves the value of the specified control style bit for the control.
 
virtual drawing::size measure_control () const noexcept
 Measure this control.
 
drawing::size measure_text () const noexcept
 Measure this control text.
 
virtual void on_auto_size_changed (const event_args &e)
 Raises the xtd::forms::control::auto_size_changed event.
 
virtual void on_back_color_changed (const event_args &e)
 Raises the xtd::forms::control::back_color_changed event.
 
virtual void on_background_image_changed (const event_args &e)
 Raises the xtd::forms::control::background_image_changed event.
 
virtual void on_background_image_layout_changed (const event_args &e)
 Raises the xtd::forms::control::background_image_layout_changed event.
 
virtual void on_control_appearance_changed (const event_args &e)
 Raises the control::control_appearance_changed event.
 
virtual void on_click (const event_args &e)
 Raises the xtd::forms::control::click event.
 
virtual void on_client_size_changed (const event_args &e)
 Raises the xtd::forms::control::client_size_changed event.
 
virtual void on_control_added (const control_event_args &e)
 Raises the xtd::forms::control::control_added event.
 
virtual void on_control_removed (const control_event_args &e)
 Raises the xtd::forms::control::control_removed event.
 
virtual void on_create_control ()
 Raises the xtd::forms::control::create_control event.
 
virtual void on_cursor_changed (const event_args &e)
 Raises the xtd::forms::control::cursor_changed event.
 
virtual void on_destroy_control ()
 Raises the xtd::forms::control::destroy_control event.
 
virtual void on_dock_changed (const event_args &e)
 Raises the xtd::forms::control::dock_changed event.
 
virtual void on_double_click (const event_args &e)
 Raises the xtd::forms::control::double_click event.
 
virtual void on_enabled_changed (const event_args &e)
 Raises the xtd::forms::control::enabled_changed event.
 
virtual void on_fore_color_changed (const event_args &e)
 Raises the xtd::forms::control::fore_color_changed event.
 
virtual void on_font_changed (const event_args &e)
 Raises the xtd::forms::control::font_changed event.
 
virtual void on_got_focus (const event_args &e)
 Raises the xtd::forms::control::got_focus event.
 
virtual void on_handle_destroyed (const event_args &e)
 Raises the xtd::forms::control::handle_destroyed event.
 
virtual void on_help_requested (help_event_args &e)
 Raises the xtd::forms::control::help_requested event.
 
virtual void on_key_down (key_event_args &e)
 Raises the xtd::forms::control::key_down event.
 
virtual void on_key_press (key_press_event_args &e)
 Raises the xtd::forms::control::key_press event.
 
virtual void on_key_up (key_event_args &e)
 Raises the xtd::forms::control::key_up event.
 
virtual void on_layout (const event_args &e)
 Raises the xtd::forms::control::layout event.
 
virtual void on_location_changed (const event_args &e)
 Raises the xtd::forms::control::location_changed event.
 
virtual void on_lost_focus (const event_args &e)
 Raises the xtd::forms::control::lost_focus event.
 
virtual void on_mouse_click (const mouse_event_args &e)
 Raises the xtd::forms::control::mouse_click event.
 
virtual void on_mouse_double_click (const mouse_event_args &e)
 Raises the xtd::forms::control::mouse_double_click event.
 
virtual void on_mouse_down (const mouse_event_args &e)
 Raises the xtd::forms::control::mouse_down event.
 
virtual void on_mouse_enter (const event_args &e)
 Raises the xtd::forms::control::mouse_enter event.
 
virtual void on_mouse_horizontal_wheel (const mouse_event_args &e)
 Raises the xtd::forms::control::mouse_horizontal_wheel event.
 
virtual void on_mouse_leave (const event_args &e)
 Raises the xtd::forms::control::mouse_leave event.
 
virtual void on_mouse_move (const mouse_event_args &e)
 Raises the xtd::forms::control::mouse_move event.
 
virtual void on_mouse_up (const mouse_event_args &e)
 Raises the xtd::forms::control::mouse_up event.
 
virtual void on_mouse_wheel (const mouse_event_args &e)
 Raises the xtd::forms::control::mouse_wheel event.
 
virtual void on_move (const event_args &e)
 Raises the xtd::forms::control::move event.
 
virtual void on_paint (paint_event_args &e)
 Raises the xtd::forms::control::paint event.
 
virtual void on_paint_background (paint_event_args &e)
 Paints the background of the xtd::forms::control.
 
virtual void on_parent_back_color_changed (const event_args &e)
 Raises the xtd::forms::control::parent_back_color_changed event.
 
virtual void on_parent_cursor_changed (const event_args &e)
 Raises the xtd::forms::control::parent_cursor_changed event.
 
virtual void on_parent_changed (const event_args &e)
 Raises the xtd::forms::control::parent_changed event.
 
virtual void on_parent_enabled_changed (const event_args &e)
 Raises the xtd::control::enabled_changed event when the xtd::control::enabled property value of the control's container changes..
 
virtual void on_parent_fore_color_changed (const event_args &e)
 Raises the xtd::forms::control::parent_fore_color_changed event.
 
virtual void on_parent_font_changed (const event_args &e)
 Raises the xtd::forms::control::parent_font_changed event.
 
virtual void on_resize (const event_args &e)
 Raises the xtd::forms::control::region event.
 
virtual void on_region_changed (const event_args &e)
 Raises the xtd::forms::control::region_changed event.
 
virtual void on_right_to_left_changed (const event_args &e)
 Raises the xtd::forms::control::right_to_left_changed event.
 
virtual void on_size_changed (const event_args &e)
 Raises the xtd::forms::control::size_changed event.
 
virtual void on_style_sheet_changed (const event_args &e)
 Raises the xtd::forms::control::style_sheet_changed event.
 
virtual void on_system_colors_changed (const event_args &e)
 Raises the control::system_colors_changed event.
 
virtual void on_tab_stop_changed (const event_args &e)
 Raises the xtd::forms::control::tab_stop_changed event.
 
virtual void on_text_changed (const event_args &e)
 Raises the xtd::forms::control::text_changed event.
 
virtual void on_visible_changed (const event_args &e)
 Raises the xtd::forms::control::visible_changed event.
 
void post_recreate_handle () noexcept
 
virtual void recreate_handle ()
 Forces the re-creation of the handle for the control.
 
virtual void set_bounds_core (int32 x, int32 y, int32 width, int32 height, bounds_specified specified)
 Performs the work of setting the specified bounds of this control.
 
void set_can_focus (bool value)
 Sets a value indicating whether the control can receive focus.
 
virtual void set_text (const xtd::ustring &text)
 Sets the text associated with this control.
 
virtual void set_client_size_core (int32 width, int32 height)
 Sets the size of the client area of the control.
 
void set_parent (intptr handle)
 Sets the parent handle of the control.
 
void set_style (control_styles flag, bool value)
 Sets a specified control_styles flag to either true or false.
 
- Protected Member Functions inherited from xtd::forms::component
 component ()
 Initialises a new instance of the component class.
 
bool design_mode () const noexcept
 Gets a value that indicates whether the component is currently in design mode.
 
- Static Protected Member Functions inherited from xtd::forms::control
static void set_mouse_buttons (forms::mouse_buttons value)
 Sets a value indicating which of the mouse buttons is in a pressed state.
 

Member Typedef Documentation

◆ selected_index_collection

Represents the collection containing the indexes to the selected items in a list_box.

◆ selected_object_collection

Represents the collection of selected items in the list_box.

Constructor & Destructor Documentation

◆ list_box()

xtd::forms::list_box::list_box ( )

Initializes a new instance of the list_box class.

Member Function Documentation

◆ allow_selection()

bool xtd::forms::list_box::allow_selection ( ) const
overrideprotectedvirtualnoexcept

Gets a value indicating whether the list enables selection of list items.

Returns
true if the list enables list item selection; otherwise, false. The default is true.

Reimplemented from xtd::forms::list_control.

◆ begin_update()

void xtd::forms::list_box::begin_update ( )

Maintains performance while items are added to the list_box one at a time by preventing the control from drawing until the EndUpdate() method is called.

Remarks
The preferred way to add multiple items to the list_box is to use the push_back_range method of the list_box::object_collection class (through the items property of the list_box). This enables you to add an array of items to the list in a single operation. However, if you want to add items one at a time using the Add method of the list_box::object_collection class, you can use the begin_update method to prevent the control from repainting the list_box each time an item is added to the list. Once you have completed the task of adding items to the list, call the end_update method to enable the list_box to repaint. This way of adding items can prevent flickered drawing of the list_box when a large number of items are being added to the list.

◆ border_sides() [1/2]

virtual forms::border_sides xtd::forms::list_box::border_sides ( ) const
virtualnoexcept

Gets the border sides for the control.

Returns
A bitwise combination of the A bitwise combination values. The default is border_style::all.

◆ border_sides() [2/2]

virtual list_box & xtd::forms::list_box::border_sides ( forms::border_sides  border_sides)
virtual

Sets the border sides for the control.

Parameters
border_styleA bitwise combination of the border_sides values. The default is border_style::all.

◆ border_style() [1/3]

virtual forms::border_style xtd::forms::list_box::border_style ( ) const
virtualnoexcept

Gets the type of border that is drawn around the list_box.

Returns
One of the xtd::forms::border_styleforms::border_style values. The default is fixed_single.

◆ border_style() [2/3]

virtual list_box & xtd::forms::list_box::border_style ( forms::border_style  border_style)
virtual

Sets the type of border that is drawn around the list_box.

Parameters
border_styleOne of the xtd::forms::border_styleforms::border_style values. The default is fixed_single.
Returns
Current list_box.

◆ border_style() [3/3]

virtual list_box & xtd::forms::list_box::border_style ( std::nullptr_t  )
virtual

Resets the border style for the control.

Parameters
border_stylenullptr.
Returns
Current label instance.
Remarks
You can use this property to add a border to the control. This property is typically used to differentiate a label that labels another control from a label that displays the status of a process in an application.

◆ clone()

xtd::uptr< xtd::object > xtd::forms::list_box::clone ( ) const
overrideprotectedvirtual

Creates a new object that is a copy of the current instance.

Returns
A new object that is a copy of this instance.
Notes to Implementers
All controls must be override the clone method.

Reimplemented from xtd::forms::control.

◆ create() [1/24]

static list_box xtd::forms::list_box::create ( )
static

A factory to create an xtd::forms::list_box.

Returns
New xtd::forms::list_box created.

◆ create() [2/24]

static list_box xtd::forms::list_box::create ( const control parent)
static

A factory to create an xtd::forms::list_box with specified parent.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [3/24]

static list_box xtd::forms::list_box::create ( const control parent,
const drawing::point location 
)
static

A factory to create an xtd::forms::list_box with specified parent, and location.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [4/24]

static list_box xtd::forms::list_box::create ( const control parent,
const drawing::point location,
const drawing::size size 
)
static

A factory to create an xtd::forms::list_box with specified parent, location, and size.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [5/24]

static list_box xtd::forms::list_box::create ( const control parent,
const drawing::point location,
const drawing::size size,
const xtd::ustring name 
)
static

A factory to create an xtd::forms::list_box with specified parent, location, size, and name.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
nameThe name of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [6/24]

static list_box xtd::forms::list_box::create ( const control parent,
const object_collection items 
)
static

A factory to create an xtd::forms::list_box with specified parent, and items.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
itemsA choice::object_collection representing the items in the list_box.
Returns
New xtd::forms::list_box created.

◆ create() [7/24]

static list_box xtd::forms::list_box::create ( const control parent,
const object_collection items,
const drawing::point location 
)
static

A factory to create an xtd::forms::list_box with specified parent, items, and location.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
itemsA choice::object_collection representing the items in the list_box.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [8/24]

static list_box xtd::forms::list_box::create ( const control parent,
const object_collection items,
const drawing::point location,
const drawing::size size 
)
static

A factory to create an xtd::forms::list_box with specified parent, items, location, and size.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
itemsA choice::object_collection representing the items in the list_box.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [9/24]

static list_box xtd::forms::list_box::create ( const control parent,
const object_collection items,
const drawing::point location,
const drawing::size size,
const xtd::ustring name 
)
static

A factory to create an xtd::forms::list_box with specified parent, items, location, size, and name.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
itemsA choice::object_collection representing the items in the list_box.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
nameThe name of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [10/24]

static list_box xtd::forms::list_box::create ( const control parent,
const object_collection items,
size_t  selected_index 
)
static

A factory to create an xtd::forms::list_box with specified parent, items, and selected_index.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
itemsA choice::object_collection representing the items in the list_box.
selected_indexA zero-based index of the currently selected item. The xtd::forms::list_box::object_collection::npos is returned if no item is selected.
Returns
New xtd::forms::list_box created.

◆ create() [11/24]

static list_box xtd::forms::list_box::create ( const control parent,
const object_collection items,
size_t  selected_index,
const drawing::point location 
)
static

A factory to create an xtd::forms::list_box with specified parent, items, selected_index, and location.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
itemsA choice::object_collection representing the items in the list_box.
selected_indexA zero-based index of the currently selected item. The xtd::forms::list_box::object_collection::npos is returned if no item is selected.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [12/24]

static list_box xtd::forms::list_box::create ( const control parent,
const object_collection items,
size_t  selected_index,
const drawing::point location,
const drawing::size size 
)
static

A factory to create an xtd::forms::list_box with specified parent, items, selected_index, location, and size.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
itemsA choice::object_collection representing the items in the list_box.
selected_indexA zero-based index of the currently selected item. The xtd::forms::list_box::object_collection::npos is returned if no item is selected.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [13/24]

static list_box xtd::forms::list_box::create ( const control parent,
const object_collection items,
size_t  selected_index,
const drawing::point location,
const drawing::size size,
const xtd::ustring name 
)
static

A factory to create an xtd::forms::list_box with specified parent, items, selected_index, location, size, and name.

Parameters
parentThe parent that contains the new created xtd::forms::list_box.
itemsA choice::object_collection representing the items in the list_box.
selected_indexA zero-based index of the currently selected item. The xtd::forms::list_box::object_collection::npos is returned if no item is selected.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
nameThe name of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [14/24]

static list_box xtd::forms::list_box::create ( const drawing::point location)
static

A factory to create an xtd::forms::list_box with specified location.

Parameters
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [15/24]

static list_box xtd::forms::list_box::create ( const drawing::point location,
const drawing::size size 
)
static

A factory to create an xtd::forms::list_box with specified location, and size.

Parameters
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [16/24]

static list_box xtd::forms::list_box::create ( const drawing::point location,
const drawing::size size,
const xtd::ustring name 
)
static

A factory to create an xtd::forms::list_box with specified location, size, and name.

Parameters
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
nameThe name of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [17/24]

static list_box xtd::forms::list_box::create ( const object_collection items)
static

A factory to create an xtd::forms::list_box with specified items.

Parameters
itemsA choice::object_collection representing the items in the list_box.
Returns
New xtd::forms::list_box created.

◆ create() [18/24]

static list_box xtd::forms::list_box::create ( const object_collection items,
const drawing::point location 
)
static

A factory to create an xtd::forms::list_box with specified items, and location.

Parameters
itemsA choice::object_collection representing the items in the list_box.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [19/24]

static list_box xtd::forms::list_box::create ( const object_collection items,
const drawing::point location,
const drawing::size size 
)
static

A factory to create an xtd::forms::list_box with specified items, location, and size.

Parameters
itemsA choice::object_collection representing the items in the list_box.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [20/24]

static list_box xtd::forms::list_box::create ( const object_collection items,
const drawing::point location,
const drawing::size size,
const xtd::ustring name 
)
static

A factory to create an xtd::forms::list_box with specified items, location, size, and name.

Parameters
itemsA choice::object_collection representing the items in the list_box.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
nameThe name of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [21/24]

static list_box xtd::forms::list_box::create ( const object_collection items,
size_t  selected_index 
)
static

A factory to create an xtd::forms::list_box with specified items, and selected_index.

Parameters
itemsA choice::object_collection representing the items in the list_box.
selected_indexA zero-based index of the currently selected item. The xtd::forms::list_box::object_collection::npos is returned if no item is selected.
Returns
New xtd::forms::list_box created.

◆ create() [22/24]

static list_box xtd::forms::list_box::create ( const object_collection items,
size_t  selected_index,
const drawing::point location 
)
static

A factory to create an xtd::forms::list_box with specified items, selected_index, and location.

Parameters
itemsA choice::object_collection representing the items in the list_box.
selected_indexA zero-based index of the currently selected item. The xtd::forms::list_box::object_collection::npos is returned if no item is selected.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [23/24]

static list_box xtd::forms::list_box::create ( const object_collection items,
size_t  selected_index,
const drawing::point location,
const drawing::size size 
)
static

A factory to create an xtd::forms::list_box with specified items, selected_index, location, and size.

Parameters
itemsA choice::object_collection representing the items in the list_box.
selected_indexA zero-based index of the currently selected item. The xtd::forms::list_box::object_collection::npos is returned if no item is selected.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create() [24/24]

static list_box xtd::forms::list_box::create ( const object_collection items,
size_t  selected_index,
const drawing::point location,
const drawing::size size,
const xtd::ustring name 
)
static

A factory to create an xtd::forms::list_box with specified items, selected_index, location, size, and name.

Parameters
itemsA choice::object_collection representing the items in the list_box.
selected_indexA zero-based index of the currently selected item. The xtd::forms::list_box::object_collection::npos is returned if no item is selected.
locationA xtd::drawing::point that represent location of the xtd::forms::list_box.
sizeA xtd::drawing::size that represent size of the xtd::forms::list_box.
nameThe name of the xtd::forms::list_box.
Returns
New xtd::forms::list_box created.

◆ create_params()

forms::create_params xtd::forms::list_box::create_params ( ) const
overrideprotectedvirtualnoexcept

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_back_color()

drawing::color xtd::forms::list_box::default_back_color ( ) const
overrideprotectedvirtualnoexcept

Gets the default background color of the control.

Returns
The default background color of the control. The default is control.
Remarks
This is the default back_color property value of a generic top-level control. Derived classes can have different defaults.

Reimplemented from xtd::forms::control.

◆ default_fore_color()

drawing::color xtd::forms::list_box::default_fore_color ( ) const
overrideprotectedvirtualnoexcept

Gets the default foreground color of the control.

Returns
The default foreground color of the control. The default is control_text.

Reimplemented from xtd::forms::control.

◆ end_update()

void xtd::forms::list_box::end_update ( )

Resumes painting the list_box control after painting is suspended by the begin_update method.

Remarks
The preferred way to add multiple items to the list_box is to use the push_back_range method of the list_box::object_collection class (through the items property of the list_box). This enables you to add an array of items to the list in a single operation. However, if you want to add items one at a time using the Add method of the list_box::object_collection class, you can use the begin_update method to prevent the control from repainting the list_box each time an item is added to the list. Once you have completed the task of adding items to the list, call the end_update method to enable the list_box to repaint. This way of adding items can prevent flickered drawing of the list_box when a large number of items are being added to the list.

◆ items() [1/3]

const object_collection & xtd::forms::list_box::items ( ) const
noexcept

Gets the items of the list_box.

Returns
An list_box::object_collection representing the items in the list_box.

◆ items() [2/3]

object_collection & xtd::forms::list_box::items ( )
noexcept

Gets the items of the list_box.

Returns
An list_box::object_collection representing the items in the list_box.
Remarks
This property enables you to obtain a reference to the list of items that are currently stored in the list_box. With this reference, you can add items, remove items, and obtain a count of the items in the collection.
Examples
demo.cpp.

◆ items() [3/3]

const list_box & xtd::forms::list_box::items ( const object_collection items)

Sets the items of the list_box.

Parameters
itemsAn list_box::object_collection representing the items in the list_box.
Returns
Current list_box.
Remarks
This property enables you to obtain a reference to the list of items that are currently stored in the list_box. With this reference, you can add items, remove items, and obtain a count of the items in the collection.

◆ on_handle_created()

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

Raises the xtd::forms::control::handle_created event.

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

Reimplemented from xtd::forms::control.

◆ on_selected_value_changed()

void xtd::forms::list_box::on_selected_value_changed ( const event_args e)
overrideprotectedvirtual

Raises the list_control::selected_value_changed event.

Reimplemented from xtd::forms::list_control.

◆ selected_index() [1/3]

virtual size_t xtd::forms::list_control::selected_index ( ) const
virtualnoexcept

Gets the zero-based index of the currently selected item.

Returns
A zero-based index of the currently selected item. A value of negative one (-1) is returned if no item is selected.

Reimplemented from xtd::forms::list_control.

◆ selected_index() [2/3]

list_control & xtd::forms::list_box::selected_index ( size_t  selected_index)
overridevirtual

When overridden in a derived class, Sets the zero-based index of the currently selected item.

Parameters
selected_indexA zero-based index of the currently selected item. A value of negative one (-1) is returned if no item is selected.
Returns
Current list_control.

Implements xtd::forms::list_control.

Examples
demo.cpp.

◆ selected_index() [3/3]

virtual list_control & xtd::forms::list_control::selected_index ( size_t  selected_index)
virtual

When overridden in a derived class, Sets the zero-based index of the currently selected item.

Parameters
selected_indexA zero-based index of the currently selected item. A value of negative one (-1) is returned if no item is selected.
Returns
Current list_control.

Implements xtd::forms::list_control.

◆ selected_indices()

virtual selected_index_collection xtd::forms::list_box::selected_indices ( ) const
virtualnoexcept

Gets a collection that contains the zero-based indexes of all currently selected items in the list_box.

A list_box.selected_index_collection containing the indexes of the currently selected items in the control. If no items are currently selected, an empty ListBox.SelectedIndexCollection is returned.

Remarks
For a multiple-selection list_box, this property returns a collection containing the indexes to all items that are selected in the list_box. For a single-selection ListBox, this property returns a collection containing a single element containing the index of the only selected item in the list_box. For more information about how to manipulate the items of the collection, see list_box::selected_index_collection.
The list_box class provides a number of ways to reference selected items. Instead of using the selected_indices property to obtain the index position of the currently selected item in a single-selection list_box, you can use the selected_index property. If you want to obtain the item that is currently selected in the list_box, instead of the index position of the item, use the selected_item property. In addition, you can use the selected_items property if you want to obtain all the selected items in a multiple-selection list_box.

Reimplemented in xtd::forms::checked_list_box.

◆ selected_item() [1/2]

const item & xtd::forms::list_box::selected_item ( ) const
noexcept

Gets the currently selected item in the list_box.

Returns
An object that represents the current selection in the control.
Remarks
For a standard list_box, you can use this property to determine which item is selected in the list_box. If the selection_mode property of the list_box is set to either selection_mode::multi_simple or selection_mode::multi_extended (which indicates a multiple-selection list_box) and multiple items are selected in the list, this property can return any selected item.
To retrieve a collection containing all selected items in a multiple-selection list_box, use the selected_items property. If you want to obtain the index position of the currently selected item in the list_box, use the selected_index property. In addition, you can use the selected_indices property to obtain all the selected indexes in a multiple-selection list_box.

◆ selected_item() [2/2]

list_box & xtd::forms::list_box::selected_item ( const item selected_item)

Sets the currently selected item in the list_box.

Parameters
selected_itemAn object that represents the current selection in the control.
Returns
Current list_box.
Remarks
For a standard list_box, you can use this property to determine which item is selected in the list_box. If the selection_mode property of the list_box is set to either selection_mode::multi_simple or selection_mode::multi_extended (which indicates a multiple-selection list_box) and multiple items are selected in the list, this property can return any selected item.
To retrieve a collection containing all selected items in a multiple-selection list_box, use the selected_items property. If you want to obtain the index position of the currently selected item in the list_box, use the selected_index property. In addition, you can use the selected_indices property to obtain all the selected indexes in a multiple-selection list_box.

◆ selected_items()

selected_object_collection xtd::forms::list_box::selected_items ( ) const
noexcept

Gets a collection containing the currently selected items in the list_box.

Returns
A list_box::selected_object_collection containing the currently selected items in the control.
Remarks
For a multiple-selection list_box, this property returns a collection containing all items that are selected in the list_box. For a single-selection list_box, this property returns a collection containing a single element containing the only selected item in the list_box. For more information about how to manipulate the items of the collection, see list_box::selected_object_collection.
The list_box class provides a number of ways to reference selected items. Instead of using the selected_items property to obtain the currently selected item in a single-selection list_box, you can use the selected_item property. If you want to obtain the index position of an item that is currently selected in the list_box, instead of the item itself, use the selected_index property. In addition, you can use the selected_indices property if you want to obtain the index positions of all selected items in a multiple-selection list_box.

◆ selection_mode() [1/2]

virtual forms::selection_mode xtd::forms::list_box::selection_mode ( ) const
virtualnoexcept

Gets the method in which items are selected in the list_box.

Returns
One of the selection_mode values. The default is selection_mode::one.
Remarks
The selection_mode property enables you to determine how many items in the list_box a user can select at one time and how the user can make multiple-selections. When the selection_mode property is set to selection_mode::multi_extended, pressing SHIFT and clicking the mouse or pressing SHIFT and one of the arrow keys (UP ARROW, DOWN ARROW, LEFT ARROW, and RIGHT ARROW) extends the selection from the previously selected item to the current item. Pressing CTRL and clicking the mouse selects or deselects an item in the list. When the property is set to selection_mode::multi_simple, a mouse click or pressing the SPACEBAR selects or deselects an item in the list.

◆ selection_mode() [2/2]

virtual list_box & xtd::forms::list_box::selection_mode ( forms::selection_mode  selection_mode)
virtual

Sets the method in which items are selected in the list_box.

Parameters
selection_modeOne of the selection_mode values. The default is selection_mode::one.
Returns
Current list_box.
Remarks
The selection_mode property enables you to determine how many items in the list_box a user can select at one time and how the user can make multiple-selections. When the selection_mode property is set to selection_mode::multi_extended, pressing SHIFT and clicking the mouse or pressing SHIFT and one of the arrow keys (UP ARROW, DOWN ARROW, LEFT ARROW, and RIGHT ARROW) extends the selection from the previously selected item to the current item. Pressing CTRL and clicking the mouse selects or deselects an item in the list. When the property is set to selection_mode::multi_simple, a mouse click or pressing the SPACEBAR selects or deselects an item in the list.

◆ sorted() [1/2]

virtual bool xtd::forms::list_box::sorted ( ) const
virtualnoexcept

Gets a value indicating whether the items in the list_box are sorted alphabetically.

Returns
true if items in the control are sorted; otherwise, false. The default is false.
Remarks
Use the sorted property to automatically sort strings alphabetically in a list_box. As items are added to a sorted list_box, the items are moved to the appropriate location in the sorted list. When adding items to a list_box, it is more efficient to sort the items first and then add new items.

◆ sorted() [2/2]

virtual list_box & xtd::forms::list_box::sorted ( bool  sorted)
virtual

Sets a value indicating whether the items in the list_box are sorted alphabetically.

Parameters
sortedtrue if items in the control are sorted; otherwise, false. The default is false.
Returns
Current list_box.
Remarks
Use the sorted property to automatically sort strings alphabetically in a list_box. As items are added to a sorted list_box, the items are moved to the appropriate location in the sorted list. When adding items to a list_box, it is more efficient to sort the items first and then add new items.

◆ text()

control & xtd::forms::list_box::text ( const xtd::ustring text)
overridevirtual

Sets the text associated with this control.

Parameters
textThe text associated with this control.

Reimplemented from xtd::forms::control.

◆ wnd_proc()

void xtd::forms::list_box::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: