xtd 0.2.0
control_with_name_operator.cpp

shows how to use xtd::forms::control::name property and xtd::forms::layout::arranged_element_collection::operator[] name operator.

Windows
control_with_name_operator_w.png

control_with_name_operator_wd.png
macOS
control_with_name_operator_m.png

control_with_name_operator_md.png
Gnome
control_with_name_operator_g.png

control_with_name_operator_gd.png
#include <xtd/forms/application>
#include <xtd/forms/button>
#include <xtd/forms/form>
#include <xtd/forms/label>
using namespace xtd;
using namespace xtd::forms;
namespace control_with_name_operator_example {
class main_form : public form {
public:
main_form() {
controls().push_back_range({button1, label1});
button1.name("button1");
label1.name("label1");
controls()["button1"].value().get().location({10, 10});
controls()["button1"].value().get().text("Click me");
as<button>(controls()["button1"].value().get()).auto_repeat(true);
controls()["button1"].value().get().click += [&] {
static int count = 0;
controls()["label1"].value().get().text(ustring::format("button clicked {} times", ++count));
};
controls()["label1"].value().get().auto_size(true);
controls()["label1"].value().get().location({10, 50});
controls()["label1"].value().get().text("button clicked 0 times");
}
private:
label label1;
};
}
auto main()->int {
xtd::forms::application::run(control_with_name_operator_example::main_form {});
}