- •Предисловие
- •1 Среда визуального программирования visual studio.Net
- •1.1 Введение в объектно - ориентированное программирование
- •1.2 Понятие о событийном управлении Windows
- •1.3 Основные окна среды Visual Studio.Net
- •1.4 Основные структурные элементы разработки проекта c#
- •1.5 Пример первой учебной программы
- •2.1 Технология визуального проектирования форм
- •1.6 Вопросы для самопроверки
- •2 Элементы управления
- •2.2 Элементы управления панели Toolbox
- •2.3 Пример использования элементов управления
- •2.4 Вопросы для самопроверки
- •3 Графический интерфейс языка c#
- •3.1 Пространство имен System.Drawing
- •3.2 Класс Graphics
- •3.3 Пример программной реализации
- •3.4 Вопросы для самопроверки
- •4 Использование меню в приложении
- •4.1 Меню программы
- •4.2 Создание инструментальной панели приложения
- •4.3.Вопросы для самопроверки
- •5 Использование диалоговых меню
- •5.1 Обработчики событий для работы с матрицей
- •5.2 Обработчик событий для открытия файла
- •5.3 Обработчик событий для записи в файл
- •5.4 Обработчик событий для работы с текстом
- •5.5 Вопросы для самопроверки
- •6 Многооконные приложения
- •6.1 Создание «кнопочной» главной формы
- •6.2 Добавление новых форм приложения
- •6.3 Обработчики событий главной формы
- •6.4 Табличная форма представления и редактирования значений
- •6.5 Графическая форма представления прямоугольников
- •6.6 Вопросы для самопроверки
- •7. Понятие класса
- •7.1 Понятие класса
- •7.2 Состав класса
- •7.3 Методы класса
- •7.4 Структура объекта
- •7.5 Пример учебной программы
- •7.6 Доступ к полям
- •7.7 Вопросы для самопроверки
- •1 Понятие класса?
- •8 Элементы классов
- •8.1 Конструкторы
- •8.2 Деструкторы
- •8.3 Свойства
- •8.4 Параметр по ссылке this
- •8.5 События класса
- •8.6 Перегрузка операций класса
- •8.7 Вопросы для самопроверки
- •9 Принципы ооп
- •9.1 Понятие инкапсуляции
- •9.2 Понятие наследования
- •9.3 Вопросы для самопроверки
- •10 Принцип полиморфизма
- •10.1 Понятие полиморфизма
- •10.2 Пример статического наследования методов
- •10.3 Пример динамического наследования методов
- •10.4 Вопросы для самопроверки
- •11 Использование интерфейсов
- •11.1 Понятие интерфейса
- •11.2 Синтаксис интерфейса
- •11.3 Использование стандартного интерфейса iEnumerable
- •11.4 Вопросы для самопроверки
- •12 Композиция и коллекция классов
- •12.1 Понятие композиции и коллекции класса
- •12.2 Пример использования композиции и коллекции класса
- •12.3 Некоторые коллекции Framework
- •12.4 Коллекция ArrayList
- •12.5 Вопросы для самопроверки
- •13 Делегаты
- •13.1 Понятие делегата
- •13.2 Описание делегата
- •13.3 Пример использования делегата
- •13.4 Совместимость делегатов
- •13.5 Методы базовых классов делегатов
- •13.6 Вопросы для самопроверки
- •14 События
- •14.1 Понятие события
- •14.2 Некоторые часто используемые события среды Visual Studio.Net
- •14.3 Пример использования стандартных событий классов
- •14.4 Нестандартные события классов
- •14.5 Вопросы для самопроверки
- •Приложение а Ответы на вопросы для самопроверки
- •1 Понятие класса?
- •Предметный указатель
- •Список литературы
5.5 Вопросы для самопроверки
1 Какие элементы управления относятся к диалоговым категориям?
2 Какой элементы управления предназначен для создания и обслуживания диалогового окна открытия файла?
3 Какой метод отображает на экране стандартное диалоговое окно системы Windows для выбора файла при его открытии?
4 Как настроить элемент управления OpenFileDialog на открытие только текстовых файлов?
5 Что произойдет, если в диалоговом окне открытия файла пользователь кликнул на кнопку «Открыть»?
6 Что означает часть условия openFileDialog1.FileName.Length > 0
в записи:
if (openFileDialog1.ShowDialog() == DialogResult.OK && openFileDialog1.FileName.Length > 0)?
7 Какой метод элемента управления RichTextBox1 используется для открытия файла?
8 Для чего предназначен элементы управления SaveFileDialog?
9 Что определяет свойство FileName элемента управления SaveFileDialog?
10 Что определяет параметр RichTextBoxStreamType.PlainText метода richTextBox1.SaveFile?
6 Многооконные приложения
6.1 Создание «кнопочной» главной формы
Рассмотренные в предыдущих лекциях приложения были посвящены созданию однооконных приложений – все элементы управления и вывода результатов работы программ размещались в одном окне главной формы. В этой лекции мы рассмотрим технологию проектирования приложений с многооконным интерфейсом (Multiple-document interface, MDI).
Во многих многооконных приложениях используется так называемая главная кнопочная форма – главная форма приложения, на которой меню реализовано в виде «больших» кнопок с необходимыми комментариями.
В каких ситуациях имеет смысл проектировать главную форму как главную кнопочную форму? Так поступают достаточно часто. Представьте себе, что создаваемый проект предоставляет конечному пользователю несколько различных сервисов, и пользователь, начиная работу с проектом, выбирает нужный ему сервис. Главная форма может иметь меню, команды которого и позволяют пользователю выбирать нужный ему сервис. Если каждый сервис достаточно сложен и требует собственного интерфейса, то в таких ситуациях вместо стандартного меню удобнее использовать главную кнопочную форму. Роль команд меню в ней играют расположенные в форме командные кнопки. Выбор командной кнопки на форме соответствует выбору команды меню.
Освоение материала новой технологии программирования всегда понятнее при решении некоторой учебной задачи – задачи, при решении которой упор делается на освоение новой технологии, а не на алгоритм решения самой задачи. В таких учебных задачах алгоритм ее решения должен быть очевидным или рассмотрен в предыдущих лекциях.
Задача 6.1 Разработать приложение, позволяющее создавать массив из 6 геометрических фигур типа прямоугольник. Прямоугольники задаются координатами двух противоположных вершин. Координаты вершин формируются случайным образом в диапазоне целых чисел от минус 100 до 100. Пользовательский интерфейс должен содержать 3 формы. Главная «кнопочная» форма, на которой должны располагаться кнопки режимов работы программы с соответствующей поясняющей информацией. Окно формы для табличного представления и редактирования информации. Окно формы для графического представления информации.
Таким образом, главное окно должно содержать 3 кнопки режимов работы программы:
- создание массива прямоугольников;
- переход на окно табличной формы представления и редактирования значений координат вершин прямоугольников;
- переход к окну с графической формой представления прямоугольников.
На главной форме можно поместить дополнительную кнопку для информации об авторе программы, которая может содержать имя автора, его контактный телефон и фото автора (в дополнительной форме).
Естественно, для задания режимов работы программы можно использовать меню, рассмотренное в предыдущих лекциях, а пространство окна главной формы использовать для отображения одного из режимов работы. Однако, в учебных целях, мы рассмотрим организацию «кнопочной» формы как альтернативу меню.
Создадим проект пока с одной главной формой. Для красоты разместим на ней некоторый рисунок или фотографию. Для этого необходимо в окне элементов управления проекта выбрать элемент PictureBox и разместить его в окне формы. В свойствах элемента PictureBox необходимо выбрать Image, в правой части которого открыть диалоговое окно выбора файла изображения. Найти необходимое изображение и подтвердить его выборку. После этого изображение появится в окне главной формы приложения (смотри рисунок 6.1).
Рисунок 6.1 – Размещение рисунка в окне формы
Разместим на рисунке четыре кнопки – соответствующие режимам работы программы (смотри рисунок 6.2).
Реально в нашей программе три режима работы, но три кнопки в окне формы выглядят как-то неуютно, и мы добавим еще одну кнопку – сведения об авторе. Очень часто в меню программы включаются дополнительные режимы работы, например, режим Help, в котором содержится инструкция по работе с программой и отображается вся информация о нашем приложении.
В учебные программы часто включаются дополнительные теоретические сведения по алгоритму решения задачи или правильной организации режима диалога с программой.
Рисунок 6.2 – Главная «Кнопочная форма» приложения
