- •Предисловие
- •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 Понятие класса?
- •Предметный указатель
- •Список литературы
1.3 Основные окна среды Visual Studio.Net
Условно процесс создания приложения для Windows включает два основных этапа.
Первый этап – этап визуального программирования предназначен для проектирования пользовательского интерфейса, т.е. задания всех необходимых элементов управления. На этом этапе очень важны дизайнерские умения программиста.
На втором этапе необходимо разработать коды обработчиков сообщений приложения, т.е. определить поведение программы при появлении того или иного сообщения от Windows.
Чтобы выполнить первый этап разработки приложения для Windows необходимо открыть среду разработки Visual Studio .Net (File -> New -> Project -> Windows Forms Application) – смотри рисунок 1.1. При выборе проекта вам необходимо указать название папки на рабочем столе, в которой будут размещаться создаваемые средой файлы.
Рисунок 1.1 – Среда разработки Visual Studio .Net
В центре рисунка 1.1 расположено окно Form 1, которое относится к пространству имен System.Windows.Forms. Пока окно этой формы пустое, но разрабатываемый проект уже можно запустить на выполнение. Для этого необходимо нажать клавишу F5 или выбрать режим работы среды Debug и в нем команду Start. Окно запущенного приложения смотрите на рисунке 1.2.
Пока закроем наш проект и рассмотрим подробнее назначение отдельных окон среды разработки Visual Studio .Net.
Окно Form1 имеет 4 страницы, которые используются в различных режимах редактирования проекта, например, Form1.cs[Design] используется для размещения элементов управления на форме, а окно Program.cs для редактирования кода программы.
Окно Properties – свойства элементов управления (в нашем примере это форма) или файлов, предварительно установленных в окне Server Explorer. Страницы этого окна сгруппированы либо по категориям, либо в алфавитном порядке, либо по свойствам и событиям.
Рисунок 1.2 – Рабочее окно программы
Окно Server Explorer (на рисунке 1.1 слева в свернутом состоянии) служит для доступа к источникам данных на вашем компьютере и на удаленном сервере (информация из журнала событий и др. служб системы).
Окно Toolbox (инструменты – на рисунке 1.1 слева в свернутом состоянии) содержит различные элементы управления, которые мы будем использовать для размещения на форме.
Окно Solution Explorer – на рисунке 1.1 справа, позволяет просматривать и редактировать файлы проекта. Просмотр может осуществляться по файлам или по классам.
Обычно после запуска программы появляется окно ошибок, в котором перечислены номера строк кода программы, в которых допущены ошибки.
Подробное описание работы со средой разработки Visual Studio .Net приведено в книге А.В. Фролов, Г.В. Фролов Визуальное проектирование приложений C#[3].
1.4 Основные структурные элементы разработки проекта c#
Язык C# является объектно-ориентированным языком программирования, в котором основным понятием является понятие класса.
Класс это тип – шаблон описание множества объектов. Объект это переменная типа класс, она динамически создается в ходе выполнения программы, реально существует в памяти компьютера и обычно удаляется из памяти компьютера по завершении выполнения программы.
При разработке проекта, обычно создается несколько классов, но в ходе работы такого проекта могут динамически появляться сотни объектов, взаимодействующих друг с другом достаточно сложным образом.
Базовый класс в библиотеке FCL, являющийся прародителем всех классов как библиотечных, так и создаваемых разработчиком, является класс Object.
Пространство имен – это объединение некоторого множества классов общей тематикой или группой разработчиков. Собственные имена классов внутри пространства имен должны быть уникальны. В разных пространствах могут существовать классы с одинаковыми именами. Полное или уточненное имя класса состоит из уникального имени пространства имен, символа точка и собственного имени класса. В пространстве имен могут находиться как классы, так и пространства имен.
Пространства имен систематизирует структура библиотеки FCL, которая содержит большое число различных пространств имен, объединяющих классы определенной тематики. Если рассматривать все пространства имен как некоторое иерархическое дерево классов и пространств имен, то пространство System, а в нем класс Object будут являться корнем такого дерева.
Проект – это с одной стороны приложение на стадии разработки, а с другой стороны единица компиляции. Результатом компиляции проекта является сборка. Каждый проект содержит одно или несколько пространств имен. На начальном этапе создания проекта по заданному типу проекта автоматически строится каркас приложения, состоящий из классов, которые являются наследниками классов, входящих в состав библиотеки FCL. Так, если разработчик указывает, что он хочет построить проект типа "Windows Forms Application", то в состав каркаса приложения по умолчанию войдет класс Form1 – наследник библиотечного класса Form.
В проект входят все файлы с классами, построенные автоматически в момент создания проекта, и файлы с классами, созданные разработчиком проекта. Помимо этого, проект содержит ссылки на пространства имен из библиотеки FCL, которые включают классы, используемые в ходе работы программы. Проект содержит ссылки на все подключаемые к проекту DLL и другие проекты. «В проект входят установки и ресурсы, требуемые для работы. Частью проекта является файл, содержащий описание сборки.
В зависимости от выбранного типа проект может быть выполняемым или невыполняемым. К выполняемым проектам относятся, например, проекты типа Console или Windows. При построении каркаса выполняемого проекта в него включается класс, содержащий статический метод с именем Main. В результате компиляции такого проекта создается PE-файл (Portable Executable file) – выполняемый переносимый файл с уточнением exe. Напомним, что PE-файл может выполняться только на компьютерах, где установлен Framework .Net, поскольку это файл с управляемым кодом. [5]
К невыполняемым проектам относятся, например, проекты типа Dll.
Сборка – результат компиляции проекта. Сборка представляет собой коллекцию из одного или нескольких файлов, помеченных номером версии. Каждая сборка разворачивается на компьютере как единое целое. Программист работает с проектами, CLR работает со сборками. Сборка позволяет решать вопросы безопасности, так как содержит описание требуемых ей ресурсов и права доступа к элементам сборки. Каждая сборка содержит манифест, включающий полное описание сборки, ее элементов, требуемые ресурсы, ссылки на другие сборки, исполняемые файлы. Благодаря этому описанию CLR не требуется никакой дополнительной информации для развертывания сборки, трансляции промежуточного кода и его выполнения. Манифест идентифицирует сборку, специфицирует файлы, требуемые для реализации сборки, специфицирует типы и ресурсы, составляющие сборку, задает зависимости, необходимые в период компиляции для связи с другими сборками, специфицирует множество разрешений, необходимых, чтобы сборка могла выполняться на данном компьютере.
Каждый проект, создаваемый в Visual Studio.NET 2008, помещается в некоторую оболочку, называемую Решением – Solution. Решение может содержать несколько проектов, как правило, связанных общей темой. Например, в одно Решение можно поместить три проекта: DLL с разработанными классами, определяющими содержательную сторону приложения, консольный проект решения задачи и проект под управлением Windows.
Когда создается новый проект, он может быть помещен в уже существующее Решение или может быть создано новое Решение, содержащее проект. [5]
