На этом шаге мы рассмотрим компонент Label.
Компонент Label (рисунок 1) предназначен для отображения текстовой информации.
Рис.1. Компонент Label
Задать текст, отображаемый в поле компонента, можно как во время разработки формы, так и во время работы программы, присвоив значение свойству Text. Свойства компонента приведены в таблице 1.
Свойство | Описание |
---|---|
Name | Имя (идентификатор) компонента. Используется в программе для доступа к компоненту |
Text | Отображаемый текст |
Location | Положение компонента на поверхности формы |
Size | Размер компонента (области отображения текста) |
Font | Шрифт, используемый для отображения текста |
ForeColor | Цвет текста, отображаемого в поле компонента |
BackColor | Цвет закраски области вывода текста |
TextAlign | Способ выравнивания (расположения) текста в поле компонента. Всего существует девять способов расположения текста. На практике наиболее часто используют выравнивание по левой и верхней границам (TopLeft), посередине (TopCenter) и по центру (MiddleCenter) |
BorderStyle | Вид рамки (границы) компонента. По умолчанию граница вокруг поля Label отсутствует (значение свойства равно None). Граница компонента может быть обычной (Fixed3D) или тонкой (FixedSingle) |
Чтобы в поле компонента Label вывести числовое значение, это значение надо преобразовать в строку. Сделать это можно при помощи метода ToString.
Цвет текста (ForeColor) и фона (BackColor) можно задать, указав название цвета (Color::Red, Color::Blue, Color::Green и т. д.) или элемент цветовой схемы операционной системы (System::Drawing::SystemColors::Control, System::Drawing::SystemColors::ControlText и т. д.). Во втором случае цвет будет "привязан" к текущей цветовой схеме операционной системы и будет автоматически меняться при каждой ее смене. По умолчанию для элементов управления используется второй способ кодирования цвета. Цвет фона может быть "прозрачным" (Color::Transparent).
Программа "Конвертер" (ее форма приведена на рисунке 2, а текст функции обработки события Click, возникающего при щелчке на кнопке OK — в листинге ниже) демонстрирует возможности компонента Label. Она показывает, как во время работы программы изменить цвет текста, отображаемого в поле компонента, как вывести в поле компонента значение переменной, а также как разбить отображаемый текст на строки. Программа пересчитывает цену из долларов в рубли. Если пользователь оставит какое-либо из полей незаполненным, то в результате щелчка на кнопке OK в поле компонента Label3 красным цветом отображается сообщение об ошибке. Если все поля формы заполнены, то в поле компонента Label3 в две строки отображается результат расчета.
Рис.2. Форма программы "Конвертер"
Обработка события Click:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { double usd; // цена в долларах double k; // курс double rub; // цена в рублях if ((textBox1->Text->Length != 0) && (textBox2->Text->Length != 0)) { usd = System::Convert::ToDouble(textBox1->Text); k = System::Convert::ToDouble(textBox2->Text); rub = usd * k; label3->ForeColor = System::Drawing::SystemColors::ControlText; label3->Text = usd.ToString("n") + "$ = " + rub.ToString("c"); } else { label3->ForeColor = Color::Red; label3->Text = "Надо ввести данные в оба поля"; } }
На следующем шаге мы рассмотрим компонент TextBox.