Хотите получать новые статьи блога
прямо себе на почту?
Укажите свой e-mail:


WorldSkills Russia
Яндекс.Метрика Интернет-издание Профобразование

Создание элементов управления :: ПР 17

0

Практическая работа №17

Тема: Создание элементов управления.

Цели:

  • Изучить визуальные компоненты, предназначенные для формирования Windows-приложений и позволяющие создавать основные элементы пользовательского интерфейса.
  • Научиться создавать главное окно приложения и настраивать его свойства.

ХОД РАБОТЫ

Классы, представляющие графические элементы управления, находятся в пространстве имен System.Windows.Forms. С их помощью обеспечивается реакция на действия пользователя в приложении Windows Forms. Классы элементов управления связаны между собой достаточно сложными отношениями наследования. Общая схема таких отношений представлена на рисунке 1.

Иерархия элементов управления Windows FormsРис. 1. Иерархия элементов управления Windows Forms

Компонент TextBox

Компонент TextBox предназначен для вода данных (строки символов) с клавиатуры. Компонент TextBox способен хранить множество текстовых строк (свойство Multiline = true). Свойство Text используется для ввода единственной строки, а свойство Lines — для ввода нескольких. Строки в этом свойстве хранятся в виде массива, что позволяет организовать индексный доступ к ним.

Доступ к содержимому компонента регулируется свойством ReadOnly. В однострочном режиме высота компонента автоматически меняется так, чтобы показывать только одну строку.

Если в этом случае в значение PasswordChar поместить некоторый символ, после будет работать в режиме ввода пароля, заменяя все символы символом PasswordChar.

Класс TextBox порождён от класса TextBoxBase, в котором определено множество методов для работы с буфером обмена (Cut(), Copy(), Paste()), отмены ввода (Undo()) и других возможностей редактирования (Clear(), AppenedText() и т.п.)

Свойства компонента приведены в таблице 1.

Таблица 1 Свойства компонента TextBox

Свойство Описание
Name Имя компонента. Используется для доступа к компоненту и его свойствам
Text Текст, который находится в поле редактирования
Location Положение компонента на поверхности формы
Size Размер компонента
Font Шрифт, используемый для отображения текста в поле компонента
ForeColor Цвет текста, находящегося в поле компонента
BackColor Цвет фона поля компонента
BorderStyle Вид рамки (границы) компонента. Граница компонента может быть обычной (Fixed3D), тонкой (FixedSingle) или отсутствовать (None)
TextAlign Способ выравнивания текста в поле компонента. Текст в поле компонента может быть прижат к левой границе компонента (Left), правой (Right) или находиться по центру (Center)
MaxLength Максимальное количество символов, которое можно ввести в поле компонента
PasswordChar Символ, который используется для отображения вводимых пользователем символов (введённая пользователем строка находится в свойстве Text)
Multiline Разрешает (True) или запрещает (False) ввод нескольких строк текста.
ReadOnly Разрешает (True) или запрещает (False) редактирование отображаемого текста
Dock Способ привязки приложения и размера компонента к размеру формы. По умолчанию привязка отсутствует (None). Если значение свойства равно Top или Bottom.

Ширина компонента устанавливается равной ширине формы и компонент прижимается соответственно к верхней или нижней границе формы. Если значение свойства Dock равно Fill, а свойства Multiline — True, то размер компонента устанавливается максимально возможным.

Lines Массив строк, элементы которого содержат текст, находящийся в поле редактирования, если компонент находится в режиме MultiLine. Доступ к строке осуществляется по номеру. Строки нумеруются с нуля.
ScrollBars Задаёт отображаемые полосы прокрутки: Horizontal — горизонтальная; Vertical — вертикальная; Both — горизонтальная и вертикальная; None — не отображать.

Компонент Button

Класс Button представляет в распоряжение программиста кнопку. Она может содержать помимо надписи ещё и изображение (свойство Image или ImageList вместе с ImageIndex). При щелчке на кнопке возбуждается событие Click.

Компонент Button представляет собой командную кнопку.

Свойства компонента приведены в таблице 2.

Таблица 2 Свойства компонента Button

Свойство Описание
Name Имя компонента. Используется для доступа к компоненту и его свойствам
Text Текст на кнопке
TextAlign Положение текста на кнопке. Текст может располагаться в центре кнопки (MiddleCenter), быть прижат к левой (MiddleLeft) или правой (MiddleRight) границе.

Можно задать и другие способы размещения надписи (TopLeft, TopCenter, TopRight, BottomLeft, BottomCenter, BottomRight).

FlastStyle Стиль. Кнопка может быть стандартной (Standart), плоской (Flat) или всплывающей (Popup)
Location Положение кнопки на поверхности формы. Уточняющее свойство X определяет расстояние от левой границы кнопки до левой границы формы, уточняющее свойство Y — от верхней границы кнопки до верхней границы клиентской области формы (нижней границы заголовка)
Size Размер кнопки
Font Шрифт, используемый для отображения текста на кнопке
ForeColor Цвет текста, отображаемого на кнопке
Enabled Признак доступности кнопки. Кнопка доступна, если значение свойства равно True, и недоступна, если значение свойства равно False (в этом случае нажать кнопку нельзя, событие Click в результате щелчка на ней не возникает)
Visible Позволяет скрыть кнопку (False) или сделать её видимой (True)
Cursor Вид указателя мыши при позиционировании указателя на кнопке
Image Картинка на поверхности кнопки. Рекомендуется использовать gif-файл, в котором определён прозрачный цвет
ImageAlign Положение картинки на кнопке. Картинка может располагаться в центре (MiddleCenter), быть прижата к левой (MiddleLeft) или правой (MiddleRight) границе. Можно задать и другие способы размещения картинки на кнопке (TopLeft, TopCenter, TopRight, BottomLeft, BottomCenter, BottomRight)
ImageList Набор изображений, из которых может быть выбрано то, которое будет отображаться на поверхности кнопки. Представляет собой объект типа ImageList. Чтобы задать значение свойства в форму приложения нужно добавить компонент ImageList
ImageIndex Номер (индекс) изображения из набора ImageList, которое отображается на кнопке
ToolTip Подсказка, появляющаяся рядом с указателем мыши при его позиционировании на кнопке. Чтобы свойство стало доступно, в форму приложения нужно добавить компонент ToolTip

Пример 1:

Разместите компоненты на форме, как показано на рисунке 2:


Рис. 2.

Настройте свойства компонентов в соответствии с Таблицей 3:

Компонент Свойство Значение
Form1 Text Пример 1
TextBox1 Multiline True
TextBox1 Size — Width 100
TextBox1 Size — Height 150
Botton1 Text Очистить поле
Botton1 Size — Width 120
Botton2 Text Получить текст
Botton2 Size — Width 120

В результате, у вас должен получиться следующий интерфейс приложения (рисунок 3):


Рис. 3.

Сделайте два клика по кнопке Butoon1 и напишите следующий код:

[c-sharp]
private void button1_Click(object sender, EventArgs e)
{
// Удаление текста:
textBox1.Clear();
}
[/c-sharp]

Сделайте два клика по кнопке Butoon2 и напишите следующий код:

[c-sharp]
private void button2_Click(object sender, EventArgs e)
{
// Отображение текста в стандартном окне MessageBox:
MessageBox.Show(textBox1.Text, "Вводимый текст");
}
[/c-sharp]

Запустите приложение на исполнение.

При щелчке на кнопке Получить текст появится окно, показанное на рисунке 4.


Рис. 4.

Задание: Добавьте в приложение две кнопки Копировать и Вставить. Настройте свойства кнопок так, чтобы они содержали изображения, иллюстрирующие их функции. Напишите для кнопок соответствующий код — обработчик события.

Компонент Label

Компонент Label предназначен для отображения текстовой информации. Задать текст, отображаемый в поле компонента, можно как во время разработки формы, так и во время работы программы, присвоив нужное значение свойству Text. Так же Label помимо текста (задаваемого свойством Text) способен отображать рисунок, который задаётся свойством Image. Рисунок можно поместить также в компонент ImageList (свойство ImageList) и указать его индекс (ImageIndex).

Свойства компонента приведены в Таблице 4.

Таблица 4 Свойства компонента Label

Свойство Описание
Name Имя компонента. Используется в программе для доступа к свойствам компонента.
Text Отображаемый текст.
Location Положение компонента на поверхности формы.
AutoSize Признак автоматического изменения размера компонента. Если значение свойства равно True, то при изменении значения свойства Text (или Font) автоматически изменяется размер компонента.
Size Размер компонента (область отображения текста). Определяет (если значения свойства AutoSize равно False) размер компонента (область отображения текста)
MaximumSize Если значение свойства AutoSize равно True, то задаёт максимально допустимый (максимально возможный) размер компонента (область отображения текса). Свойство MaximumSize.Width задаёт максимально возможную ширину области, свойство MaximumSize.Height — высоту
Font Шрифт, используемый для отображения текста
ForeColor Цвет текста, отображаемого в поле компонента
BackColor Цвет закраски области вывода текста
TextAlign Способ выравнивания (расположения) текста в поле компонента. Всего существует девять способов расположения текста. На практике наиболее часто используют выравнивание по левой верхней границе (TopLeft), посередине (TopCentre) или по центру (MiddleCenter)
BorderStyle Вид рамки (границы) компонента. По умолчанию граница вокруг поля Label отсутствует (значение свойства None). Границы компонента может быть обычной (Fixsed3D) или тонкой (FixedSingle)

Компонент ImageList

Компонент ImageList является хранилищем изображений. Он используется везде, где требуется индексированный доступ к изображениям (индексация начинается с 0) и может использоваться другими компонентами (например, Label, Botton или ToolBar) как источник иллюстраций. Компонент является невизуальным, т.е. он не отображается в окне программы во время её работы. Во время создания формы компонент отображается в нижней части окна редактора формы. Его важнейшим свойством является Images, управляющее коллекцией изображений. Щелчок на кнопке в окне свойства открывает редактора, показанное на рисунке 5.

Редактор коллекции изображений
Рис. 5. Редактор коллекции изображений

Свойства компонента ImageList приведены в таблице 5.

Таблица 5 Свойства компонента ImageList

Свойство Описание
Images Коллекция изображений (объект Bitmap)
ImageSize Размер изображений коллекции. Уточняющее свойство Width определяет ширину, Height — высоту
TransparentColor Прозрачный цвет. Участки изображения, окрашенные этим цветом не отображаются
ColorDepht Глубина цвета — число байтов, используемых для кодирования цвета точки (пиксела)

Компонент способен хранить изображения разных форматов и размеров.