Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методички по информатике / Программирование в среде Visual C# (Часть 1).pdf
Скачиваний:
67
Добавлен:
27.05.2015
Размер:
1.17 Mб
Скачать

1 Компоненты Visual C#

Как и любая программная единица, компонент имеет идентификатор (имя), а также характеризуется базовым классом. Класс компонента определяет набор его свойств, методов и событий. Идентификатор присваивается средой Visual C# автоматически с использованием имени класса (с маленькой начальной буквой) и порядкового номера компонента, например, button1, label12. Как правило, такие имена идентификаторов изменяются на более понятные1.

Обращение к свойствам и методам компонента, в соответствии с принципом ООП, осуществляется в виде:

<идентификатор компонента>.<идентификатор свойства или метода>,

например, button1.Text, где button1 – идентификатор компонента; Text – идентификатор свойства. При такой записи обращения к свойству компонента считается, что обращение производится из метода той формы, на которой он расположен. Если же требуется обращение к компоненту, расположенному на другой форме, то идентификатор формы также должен указываться, например, form2.button1.Text (при этом, компонент должен быть доступен из вне класса формы).

Описание поведения компонента при возникновении того или иного события, заключается в реализации соответствующего метода. Например, поведение компонента button1 (кнопка) при нажатии (событие Click) описывается в методе класса формы:

private void button1_Click(object sender, EventArgs e)

{

// Описание реализации реакции на нажатие

};

Таким образом, собственно текст программы состоит фактически из набора описаний поведения компонентов при возникновении тех или иных событий.

Использование иерархического принципа наследования компонентов позволяет компонентам иметь базовый набор свойств, методов и событий, что значительно облегчает изучение и создание новых компонентов. Большинство компонентов являются прямыми или косвенными наследниками классов Object, Component, Control. В таблицах 1 и 2 приводится описание наиболее

1 В данных методических указаниях будут использоваться идентификаторы, состоящие из двух частей, разделенных знаком подчеркивания. Первая часть определяет назначение компонента, а вторая дает информацию о его классе, например, Count_TB, является компонентом класса TextBox и служит для ввода некоторого количества.

5

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

Таблица 1 – Наиболее часто используемые свойства компонентов

Наименование

Тип

 

Назначение

 

 

Свойства

Name

string

 

Определяет идентификатор компонента.

 

 

 

Подчиняется всем правилам, применяе-

 

 

 

мым при выборе идентификаторов пере-

 

 

 

менных, констант, типов и т.д.

Dock

DockStyle

 

Определяет способ выравнивания компо-

 

(перечисля-

 

нента в пределах его визуального вла-

 

емый)

 

 

 

дельца (нет, слева, справа, снизу, сверху,

 

 

 

 

 

 

по всему компоненту)

AutoSize

bool

 

Определяет, будет ли компонент автома-

 

 

 

тически менять свой размер в зависимости

 

 

 

от содержания.

AutoSizeMode

AutoSizeMode

 

Определяет направление изменения раз-

 

(перечисля-

 

мера:

 

емый)

 

 

 

GrowAndShrink – размеры компонента

 

 

 

 

 

 

могут увеличиваться или уменьшаться,

 

 

 

но их невозможно изменять вручную;

 

 

 

GrowOnly – размеры компонента могут

 

 

 

увеличиваться, однако они не умень-

 

 

 

шаются до значения, меньшего задан-

 

 

 

ного свойством Size. Размеры формы

 

 

 

можно изменять, но их нельзя сделать

 

 

 

настолько малыми, что какие-либо со-

 

 

 

держащиеся в ней компоненты стано-

 

 

 

вятся скрытыми

Font

Font

 

Определяет вид и параметры шрифта, ис-

 

 

 

пользуемые для вывода надписей на ком-

 

 

 

поненте

Text

string

 

Определяет текстовую строку, которая

 

 

 

может являться как подписью компонен-

 

 

 

та, так и свойством, определяющим вве-

 

 

 

денные пользователем данные

ClientSize

Size

 

Свойства, описывающие параметры кли-

ClientRectangle

Rectangle

 

ентской области, т.е. положение и макси-

 

 

 

 

 

 

мальные размеры, которые может иметь

 

 

 

компонент, для которого данный является

 

 

 

визуальным владельцем (высота–ширина,

 

 

 

параметры прямоугольной области)

6

Продолжение таблицы 1

Наименование

Тип

Назначение

Enabled

bool

Определяет, может ли компонент реаги-

 

 

ровать на нажатие мыши, клавиатуры,

 

 

другие события. Даже если это свойство

 

 

установлено в false, компонент остается

 

 

доступным для программирования

Location

Point

Координаты левого верхнего угла компо-

 

 

нента (Location.X и Location.Y)

Size

Size

Размены компонента (Size.Width и

 

 

Size.Height)

Visible

bool

Определяет, видим ли в данный момент

 

 

компонент, т.е. требуется ли его отобра-

 

 

жение. Невидимые компоненты остаются

 

 

доступными для программирования

ForeColor

Color

Определяет основной цвет и цвет фона

BackColor

 

компонента

 

 

TabIndex

int

Определяет последовательность перехода

 

 

между компонентами при нажатии кла-

 

 

виши TAB

TabStop

bool

Определяет необходимость останавли-

 

 

ваться на компоненте при переходе между

 

 

компонентами при помощи клавиши TAB

Таблица 2 – Наиболее часто используемые методы и события компонентов

Наименование

Назначение

 

Методы

Hide

Вызывается для того, чтобы сделать компонент невиди-

 

мым

Show

Вызывается для того, чтобы отобразить невидимый ком-

 

понент

Focus

Вызывается для передачи компоненту фокуса ввода (кур-

 

сора)

 

События

Click

Возникает при «нажатии» на компонент. В зависимости от

 

компонента, событие может возникнуть по разным причи-

 

нам. Подробнее событие будет рассмотрено отдельно у

 

каждого компонента

Resize

Возникает при изменении размера компонента

7

Продолжение таблицы 2

Наименование

Назначение

MouseDown

Возникает, соответственно, при нажатии, отпускании

MouseUp

кнопки мыши над компонентом, щелчке мыши по компо-

MouseClick

ненту, перемещении мыши над компонентом или движе-

MouseMove

нии колесика мыши (у компонента, имеющего фокус)

MouseWheel

 

 

 

KeyDown

Возникает, соответственно, при нажатии, отпускании или

KeyUp

комбинации нажатия и отпускания клавиши клавиатуры у

KeyPress

выбранного (сфокусированного) компонента

 

Операции ввода/вывода в компоненты, во многих случаях, осуществляются с использованием свойств, имеющих текстовое представление, поэтому при работе с данными не строкового типа требуется выполнение преобразований данных. Для преобразования данных могут быть использованы методы классов, некоторые из которых приведены в таблице 3.

Таблица 3 – Методы преобразования данных

Наименование

Тип

Назначение

 

резуль-

 

 

тата

 

<объект>.ToString()

string

Получение текстового представ-

 

 

ления объекта

Convert.To<тип>(<значение>)

<тип>

Перевод данных из типа, который

 

 

имеет <значение> в тип <тип>,

 

 

например,

 

 

int i = Convert.ToInt32("5");

1.1 Компонент класса TextBox

 

Использование компонента класса TextBox (строка ввода или многострочный редактор) является простейшим способом организации ввода/вывода данных. Компонент расположен в разделе компонентов «Стандартные эле-

менты управления» ()1.

Наиболее часто используемыми свойствами и методами компонента является2:

1 Расположение и внешний вид иконок компонентов приведены для среды

Microsoft Visual C# 2008 Express Edition.

2 Здесь и далее не указываются свойства, единые для большинства компонентов и приведенные в таблице 1.

8