C++ WinForms: Добавление и удаление элементов управления

Добавление и удаление объектов

В предыдущем уроке мы создали простую форму с одной кнопкой. Для удаления объекта достаточно выделить его и нажать клавишу Delete. Добавление объектов осуществляется через панель элементов. Для увеличения размера формы, воспользуйтесь её границами. Панель элементов содержит множество объектов, включая Label, Button, RadioButton, CheckBox, CheckBoxList и многие другие. Label предназначен для вывода текста, Button — это кнопка, RadioButton — кнопка выбора одного из нескольких вариантов, CheckBox — флажок, а CheckBoxList — контейнер для нескольких флажков.

Работа со свойствами и событиями

Для доступа к свойствам и событиям элементов откройте окно «Свойства» (меню «Вид»). Закрепите это окно для удобства. Окно отображает свойства выбранного элемента. Свойства формы включают изменение фона, шрифта и цвета. При выборе других элементов, свойства изменяются соответственно. Окно «Свойства» позволяет сортировать свойства по категориям или алфавиту. Вкладка «События» позволяет назначать обработчики событий, например, Click для кнопки, CheckedChanged для CheckBox и TextChanged для TextBox.

Настройка стилей и дизайна

Изменение свойств позволяет настраивать внешний вид элементов. Для формы, свойство Text задаёт заголовок, Icon — иконку (изображение должно находиться в папке «Файлы ресурсов»). Свойство FormBorderStyle управляет рамкой окна (значение None её убирает). BackColor задаёт цвет фона, а свойства шрифта позволяют изменять его размер, стиль и начертание. Эти настройки применяются ко всей форме и текстовым надписям в ней. Для отдельных элементов настройки могут быть изменены индивидуально. Кнопки, например, поддерживают стиль Flat (прозрачная кнопка), а также настройку фона, цвета текста и границы (Border).

Добавление функциональности: обработка событий

Рассмотрим обработку событий на примере изменения текста Label при нажатии кнопки. Изменим программное имя кнопки (свойство Name), например, на buttonMain, и Label на labelItProger. Дважды щелкнув на событии Click кнопки в окне «Свойства», создадим обработчик события buttonMain_Click. В этом методе изменим текст labelItProger:

this->labelItProger->Text = "Sam New";

Работа с CheckBox и TextBox

Добавим обработчик события CheckedChanged для CheckBox (программное имя checkBox1). В обработчике (checkBox1_CheckedChanged) проверим значение свойства Checked. В зависимости от состояния флажка, изменим ширину кнопки buttonMain:

if (this->checkBox1->Checked)
{
    this->buttonMain->Width = 300;
}
else
{
    this->buttonMain->Width = 200;
}

В конструкторе зададим начальную ширину кнопки в 200 пикселей.

Добавим TextBox (программное имя textBox1) и обработчик события TextChanged (textBox1_TextChanged). В обработчике изменим цвет фона кнопки buttonMain в зависимости от текста в textBox1:

if (this->textBox1->Text == "Blue")
{
    this->buttonMain->BackColor = System::Drawing::Color::Blue;
}
else if (this->textBox1->Text == "Red")
{
    this->buttonMain->BackColor = System::Drawing::Color::Red;
}

В этом уроке мы рассмотрели добавление объектов, настройку их свойств и обработку событий. В следующих уроках мы продолжим создавать более сложные приложения.

Что будем искать? Например,программа