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

Институт информационных технологий и автоматизированных систем

Кафедра информационных технологий в металлургии

Программирование

в среде Visual C#. Часть 2

Новокузнецк

2011

 

Содержание

 

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

3

1.1

Компонент класса GroupBox ........................................................................

3

1.2

Компонент класса RadioButton ....................................................................

3

1.3

Компонент класса CheckBox ........................................................................

4

1.4

Компонент класса ListBox ............................................................................

4

1.5

Компонент класса Form ................................................................................

5

1.6

Компонент класса PictureBox.......................................................................

6

1.7

Компонент класса Timer ...............................................................................

6

1.8

Компонент класса MenuStrip........................................................................

7

1.9

Компоненты классов ToolStrip и ToolStripButton ......................................

8

1.10 Компоненты класса StatusStrip и ToolStripStatusLabel ............................

8

1.11 Компоненты классов OpenFileDialog и SaveFileDialog ...........................

9

1.12 Компонент класса TreeView.....................................................................

10

2 Примеры выполнения практических заданий ...................................................

12

2.1

Стандартные алгоритмы .............................................................................

12

2.2

Элементы выбора ........................................................................................

14

2.3

Простейшие классы.....................................................................................

18

2.4 Графика.........................................................................................................

20

2.5

Диалоговые окна..........................................................................................

25

2.6

Комплексное задание ..................................................................................

30

2.7

Наследование ...............................................................................................

36

2.8

Древовидные структуры .............................................................................

42

2

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

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

Компонент класса GroupBox является компонентом-контейнером, предназначенным, как и любой контейнер, для размещения в нем других компонентов. Компонент расположен в разделе компонентов «Контейнеры» ().

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

Полезным свойством компонента класса GroupBox является свойство Text позволяющее дать общее название компонентам, расположенным внутри него.

1.2 Компонент класса RadioButton

Компоненты класса RadioButton («зависимая кнопка») предназначены для организации в диалоге с пользователем элемента выбора, позволяющего указать ровно один вариант из нескольких возможных. Это достигается путем реализации1 взаимодействия между всеми компонентами данного класса, расположенными в некотором контейнере (в простейшем случае контейнером является сама форма).

Компонент расположен в разделе компонентов «Стандартные элемен-

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

Основными используемыми свойствами компонента являются:

Text. Строка, описывающая назначение компонента;

Checked. Логическое свойство, позволяющее проверить или задать выбор

компонента. Если в некотором контейнере расположено несколько компонентов класса RadioButton, то только у одного из них данное свойство может иметь значение true (у всех остальных компонентов данного класса, расположенных внутри контейнера, данное свойство автоматически примет значение false).

Если в некотором контейнере расположено несколько компонентов класса RadioButton (например, варианты ответа на некоторый вопрос), то для того, чтобы узнать какой компонент выбран, необходимо проверить свойство Checked у всех компонентов.

1 Реализация взаимодействия между компонентами заложена в их внутреннем устройстве.

3

1.3 Компонент класса CheckBox

Компонент данного класса, называемый «независимая кнопка», аналогичен компоненту класса RadioButton (с точки зрения свойств и принципов использования) с тем лишь исключением, что данные компоненты не взаимодействуют между собой, что позволяет организовать выбор по типу «несколько из нескольких». Компонент расположен в разделе компонентов «Стандартные элементы управления» ().

1.4 Компонент класса ListBox

Данный компонент предназначен для отображения списка объектов и может служить средством выбора по типу «один из нескольких». Компонент

расположен

в

разделе

компонентов

«Стандартные

элементы

управления» ( ).

 

 

 

 

Основным

используемым свойством

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

свойство

Items (класс ListBox.ObjectCollection), описывающее список объектов и методы работы с ними, некоторые из которых приведены ниже:

Items.Count. Позволяет определить количество объектов, содержащихся в компоненте;

Items[int Index].Обеспечивает доступ к объектам, хранящимся в компоненте, по индексу, где Index=0 – первый объект, 1 – второй и т.д.;

Items.Add(Object item). Производит добавление в компонент нового объекта item и получение индекса, под которым он добавлен;

Items.Clear. Выполняет удаление всех объектов из компонента;

Items.RemoveAt(int Index). Выполняет удаление строки с указан-

ным индексом.

Часто используемым свойством является свойство SelectedIndex (int), определяющее или задающее выбранную строку (объект) в компоненте. Значение «0» соответствует первой строке, значение «1» – второй и т.д. Значение «-1» указывает на то, что ни одна строка не выбрана. При изменении значения этого свойства возникает событие SelectedIndexChanged.

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

Для отображения в виде строки используется метод ToString объекта, хранящегося в строке. Также возможно описание события Format, которое позволяет задать свои правила отображения в виде строки.

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

4

1.5 Компонент класса Form

Компонент класса Form представляет собой форму, на которой располагаются другие компоненты, и служит для создания основного либо дополнительных окон программы.

Одна новая форма добавляется в проект автоматически при создания приложения1, остальные добавляются путем выбора пункта меню «Проект → Добавить форму Windows» или с помощью соответствующей кнопки на панели инструментов.

Некоторые свойства и события данного компонента:

AcceptButton. Ссылка на кнопку, которая будет нажиматься при нажатии клавиши «Enter»;

CancelButton. Ссылка на кнопку, которая будет нажиматься при нажатии клавиши «Esc»;

FormBorderStyle. Свойство, определяющее тип границы компонента. Значением «по умолчанию» является Sizable. Для диалоговых окон применяется значение FixedDialog;

Text. Строка, описывающая заголовок формы;

MainMenuStrip. Ссылка на компонент, формирующий основное меню

формы;

DialogResult. Свойство, позволяющее определить способ закрытия «модального» диалогового окна. Доступно только программным способом. Значения, которые может принимать свойство, ограничены определенным набором. Наиболее часто используемые: None, OK, Cancel;

MinimizeBox. Логическое свойство, определяющее необходимость размещения кнопки минимизации у формы. Как правило, у диалоговых окон эта кнопка отсутствует;

MaximizeBox. Логическое свойство, определяющее необходимость размещения кнопки минимизации у формы. Как правило, у диалоговых окон эта кнопка отсутствует;

ShowInTaskbar. Логическое свойство, определяющее необходимость отображения формы на панели задач. Как правило, диалоговые окна на панели задач не отображаются;

Activated. Событие, возникающее при каждом получении формой фокуса ввода;

FormClosing. Событие, возникающее перед закрытием формы и позволяющее заблокировать это закрытие путем присвоения свойству Cancel па-

раметра e значения true (e.Cancel = true;);

Load. Событие, возникающее один раз при создании формы. Полезно для выполнения действий, подготавливающих форму к работе;

1 При условии, что создается приложение типа “Приложение Windows Forms”.

5

FormClosed. Событие, возникающее один раз перед закрытием формы;

Resize. Событие, возникающее при изменении размера формы;

Shown. Событие, возникающее при первом отображении формы.

Основная форма отображается автоматически при запуске программы. Все остальные формы отображаются по мере необходимости путем создания формы требуемого класса и ее программного вызова с помощью методов:

Show. Простое отображение формы. При этом может осуществляться одновременно работа как в основной форме, так и в вызванной;

ShowDialog. Отображение формы в виде диалогового окна (в «модальном» режиме). При таком отображении происходит блокирование всех остальных форм приложения (в том числе и основной) до тех пор, пока работа с диалоговым окном не будет завершена. Результат завершения работы диалогового окна класса DialogResult возвращается как значение функции

ShowDialog.

На форме, работающей в «модальном» режиме, как правило размещаются две кнопки, у каждой из которых устанавливается свойство DialogResult в нужное значение:

OK. Для кнопки подтверждения ввода данных в диалоговом окне;

Cancel. Для кнопки отказа от ввода данных в диалоговом окне.

1.6 Компонент класса PictureBox

Компонент класса PictureBox представляет прямоугольную область, используемую для отображения рисунков и построения изображений программными средствами. Компонент расположен в разделе компонентов

«Стандартные элементы управления» ().

Для построения изображений на компоненте создаются объекты классов Graphics, cPen, cBrush. После изменения изображения требуется перерисовка компонента методом Refresh.

Размеры компонента задаются с помощью свойства Size.

1.7 Компонент класса Timer

Компонент класса Timer служит для периодического выполнения некоторого набора команд. Компонент расположен в разделе компонентов «Ком-

поненты» ().

Некоторые свойства и события данного компонента:

Enabled. Логическое свойство, определяющее состояние таймера. Значение true соответствует активному состоянию таймера, значение false – отключенному состоянию;

6