Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
77:34:00
Студентов:
844
Выпускников:
15
Качество курса:
4.40 | 4.20
В курсе представлен материал, построенный на основе лабораторных работ по проектированию оконных приложений в среде Visual Studio 2005, изучаемых на протяжении ряда лет студентами автора. На учебных примерах сочетание справочных сведений и пошаговых инструкций охватывают наиболее важные аспекты применения современных технологий программирования семейства .NET. Освоение курса предполагает затраты определенных усилий на выполнение упражнений практической направленности.
Каждая глава курса посвящена примерам разработки учебного приложения или пользовательского компонента на фундаменте библиотек WindowsForms, OpenGL, управляемого DirectX, ASP.NET, ADO.NET. Материал преимущественно опирается на язык C# и его поддержку в .NET Framework версии 2.0, которые остаются совместимыми и в новых версиях. При подготовке курса был использован обширный список современной литературы и личный опыт автора. Широкий спектр рассматриваемых вопросов призван сформировать у обучаемого устойчивые навыки и кругозор, необходимые для успешной работы не только в текущей, но и в более поздних выпусках среды VS.NET. Курс пригоден как для самостоятельного, так и для группового обучения студентов.
 

План занятий

Занятие
Заголовок <<
Дата изучения
Простое приложение на нескольких языках программирования
В лекции рассматривается простое консольное приложение, разработанное на классах нескольких языков: C++, C#, Visual Basic.
-
Управление HTML-элементами в ASP.NET
Элементы управления HTML и WEB: HTMLAnchor, HTMLButton, HTMLImage, HTMLInputButton, HTMLInputCheckBox, HTMLInputFile, HTMLInputHidden, HTMLInputImage, HTMLInputRadioButton, HTMLInputText, HTMLSelect, HTMLTable, HTMLTableRow, HTMLTableCell, HTMLTextArea. Программирование тегов класса HtmlGenericControl. Визуальный способ проектирования страницы представления. Подготовка HTML-кода в редакторе Dreamweaver. Программирование функциональности страницы ASP.NET.
Оглавление
-
Управление Web-элементами в ASP.NET
Распознавание браузера. Сравнение html-элементов и Web-элементов. Web-элементы и их программирование. Этапы взаимодействия броузера и сервера в ASP.NET. Модель событий Web-форм. Обработка страницы. Web-элементы управления Label, TextBox,Button, HyperLink, CheckBox, CheckBoxList, RadioButton, RadioButtonList, DropDownList, ListBox. Обмен списков данными. Привязка Web-элементов управления к базе данных. Web-элемент AdRotator для управления рекламными баннерами.
Оглавление
-
Элементы управления Data в приложениях на C#
В лекции рассматривается типовая учебная база данных Northwind. Пространство имен BCL. Подключение к данным связанного списка. Управление составом данных, отображаемых в связанном списке. Просмотр отдельных текстовых полей по выбранному элементу списка. Редактирование и обновление данных, добавление и удаление записей с использованием связанных элементов управления. Обработка ошибок с помощью связанных элементов управления.
-
Просмотр данных средствами ADO.NET с привязкой на этапе выполнения
Выборка данных с использованием объекта DataReader. Выборка данных из базы данных SQL Server с применением объекта DataTable. Поиск записей с помощью объекта DataRow. Отбор и сортировка записей с помощью объекта DataView.
-
Редактирование данных в среде ADO.NET
Свойства и методы объектов DataAdapter, DataSet. Редактирование данных средствами DataSet. Добавление и удаление строк в наборе данных средствами среды ADO.NET. Выполнение параметризованных хранимых процедур в среде ADO.NET. Динамическое создание и выполнение пакетных заданий по обновлению данных в среде ADO.NET.
-
Введение в DirectX
Библиотека классов DirectX. Установка Microsoft ® DirectX ® 9.0 SDK Update (Summer 2003). Пространство имен Microsoft.DirectX.Direct3D. Создание устройства. Рисование плоского и трехмерного треугольника. Задание положения треугольника в мировых координатах. Создание перспективы. Добавление камеры. Отключение потребности в освещении сцены. Вращение треугольника вокруг координатной оси. Вращение треугольника вокруг произвольной оси. Обработка события изменения размеров окна. Создание освещения сцены. Хранение треугольника в вершинном буфере.
-
Выбор подходящего устройства в DirectX
В лекции рассматривается работа адаптеров устройств в DirectX. Свопинг-связки и рендеры. Форматы вторичных буферов и дисплеев. Проверка возможностей устройства.
-
Рендеринг вращающихся кубов в DirectX
В лекции приводятся примеры рисования графических примитивов. Создание вращающегося куба. Добавление функциональности остановки вращения. Текстурирование сторон вращающегося куба.
-
Более совершенные технологии рендеринга в DirectX
В лекции рассматривается использование примитивов, отличных от треугольников. Рендеринг различных типов примитивов. Использование индексных буферов. Создание нескольких вращающихся кубов с применением буфера глубины.
-
Использование Mesh-объектов в DirectX
Создание Mesh-объекта. Добавление материалов и освещения. Использование более реалистичного освещения. Загрузка Mesh-объектов из внешних файлов.
-
Вывод текста в клиентскую область формы
Применение секционных скобок для удобства редактирования. Создание заготовок для дочерних форм. Использование библиотеки FCL. Получение информации о системе. Разделение текстовых строк. Разбивка текста на колонки. Создание своего класса со свойствами "только для чтения". Организация прокрутки с помощью элемента Panel. Механизм работы автопрокрутки. Прокрутка без использования элементов управления. Отслеживание изменений в выводимой информации. Оптимизация работы функции прорисовки недействительной области.
-
Рисование графических примитивов средствами GDI+
В лекции рассматриваются два вида компьютерной графики: векторная и растровая графика. Способы создания объекта Graphics. Рисование прямых линий. Использование некоторых возможностей печати документа. Разделение кода вывода на экран и печать. Рисование ломаных линий и домика ломаными линиями. Применение функции DrawLines() для рисования графиков. Параметрические уравнения и рисование кривых. Рисование эллипса специализированным методом, спирали, прямоугольников, дуг. Рисование прямоугольника с закругленными углами и секторов. Улучшенное рисование секторов. Заливка прямоугольников, эллипсов и секторов.
Оглавление
-
Программирование простой игры в DirectX
Программирование движка игры. Создание устройства в главном классе. Установка камеры и освещения сцены. Добавление кода запуска рендеринга. Добавление кода создания дороги. Фильтрация текстуры дороги. Имитация движения дороги. Создание автомобиля. Добавление к проекту нового класса Car. Добавление свойств в класс Car. Создание объекта Car в движке игры. Клавиатурное управление автомобилем. Добавление препятствий. Генерация одного препятствия в конструкторе класса. Другие заготовки для создания препятствий. Добавление вращений к препятствиям. Оформление атрибутики игры. Разработка табло результатов. Добавление текстовых надписей и запись лучших результатов в системный реестр.
Оглавление
-
Нестандартные формы и стандартные диалоги
Создание непрямоугольной формы. Страницы свойств и стандарные диалоги. Свойства компонента TabControl. Разработка вкладок "Обзор" и MessageBox. Параметры метода Show(). Разработка итерфейса вкладки MessageBox. Программирование вкладки MessageBox. Базовый класс FileDialog. Разработка вкладки OpenFileDialog, SaveFileDialog. Распределение кода по отдельным файлам. Разработка вкладки ColorDialog. Добавление иконок к формам через файл ресурсов.
-
Простая программа на OpenGL
Первая программа OpenGL. Создание заготовки приложения OpenGL. Создание простого графического окна. Разбор кода Simple. Рисование прямоугольника внутри окна (GLRect). Масштабирование рисунка под размеры окна. Анимация прямоугольника с помощью OpenGL и GLUT (Bounce). Библиотечная функция таймера. Двойная буферизация.
-
Геометрические примитивы в OpenGL
Поддержка меню в GLUT. Установка отсекающего объема (куба) для рисования сцены. Рисование точек (Points). Задание размера точки (PointsZ). Рисование линий в трехмерном пространстве (Lines). Ломаные и замкнутые линии. Управление шириной линий (LinesW). Фактура линий (LinesStipple). Рисование многоугольников в трехмерном пространстве. Рисование треугольников. Обход вершин. Ленты и вееры треугольников. Рисование конуса (Triangle). Удаление скрытых поверхностей. Отбор (culling). Каркасный режим и режим с заливкой. Фактура многоугольников (PolygonStipple). Каркасный режим: отсечение внутренних граней (Star).
-
Непрограммируемый конвейер в OpenGL
В лекции рассматривается непрогроммируемый геометрический конвейер OpenGL. Системы координат. Команды управления текущими матрицами преобразования. Модельные и проекционные преобразования. Стеки матриц. Построение модели атома в ортогональной проекции (Atom). Модель полого бруска в ортогональной проекции (Ortho). Модель полого бруска в перспективной проекции (Perspect). Построение модели атома в перспективной проекции (Atom Perspect). Моделирование системы с относительными вращениями (Solar). Прямая загрузка матриц преобразований (Transform). Прямая загрузка матриц преобразований (SphereWorld).
-
Свет и материалы в OpenGL
Глаз человека и оптические системы. Куб цвета (ColorCube). Свет и материя. Модель освещения. Модель самолета без использования освещения (Jet). Рисование освещенной сферы (LightSphere). Материал и его свойства. Задание свойств материала. Первый способ задания нескольких материалов (MultiMaterial). Группы атрибутов. Второй способ задания нескольких материалов (ColorSphere). Источники света и их свойства. Модель самолета с нулевым освещением (JetNight). Модель самолета с равномерным освещением (JetLight). Модель самолета с зеркальным отражением (JetShiny). Кристалл и прожектор (CrystalAndSpot). Модель самолета и его тени (JetShadow). Освещенный мир сфер (SphereWorld).
-
Смешивание, туман, сглаживание, отклонение в OpenGL
В лекции рассматривается пример работы со смешиванием.
-
Пользовательские компоненты
Рассматриваются этапы разработки компонентов. Выбор базового класса компонента. Создание визуального компонента FirstComponent. Пробное тестирование компонента. Развертывание свойств вложенного объекта компонента. Установка значений свойств компонента по умолчанию. Создание невизуального компонента Planets. Создание невизуального компонента-будильника AlarmClock (тревожные часы) с собственным событием. Добавление в компонент пользовательского события стандартным способом. Тестирование компонента AlarmClock. Добавление в компонент пользовательского события расширенным способом.
-
Пользовательский интерфейс Windows Forms для C#
В данной лабораторной работе рассматриваются некоторые воможности интегрированной среды разработки программного обеспечения (IDE - Integrated Development Environment) Visual Studio.NET 2005. Установка пароля на главное окно приложения. Добавление списка для запуска упражнений. Смайлики. Краткое описание части компонентов панели Toolbox. Простой калькулятор. Применение коллекций для предотвращения повторных запусков формы. Встраивание COM-объекта "Windows Media Player" в свое приложение. Добавление к форме других элементов управления.
-
Пользовательские элементы управления
Графический интерфейс пользователя (GUI - Graphics User Interface). Построение элемента управления BeepButton. Переопределение наследуемого от Control виртуального метода диспетчеризации события Click. Проектирование диалогового окна сообщений MyDialogBox. Тестирование пользовательских элементов BeepButton и MyDialogBox. Проектирование музыкальной кнопки SoundButton. Создание компонента блока музыкальных кнопок SoundButtonBox. Подготовка файлов звука к проигрыванию компонентом SoundButtonBox. Тестирование компонента SoundButtonBox. Рисование круглой кнопки.
Оглавление
-
Разработка комбинированного компонента
В данной лабораторной работе приведены упражнения по созданию собственных пользовательских комопонентов. Добавление объектов всплывающей подсказки. Таблица цветов структуры Color. Разработка кнопки ClickmaticButton. Наполнение класса ClickmaticButton функциональностью генерации щелчков мыши. Тестирование генерирующей кнопки ClickmaticButton. Разработка кнопки в стиле полос прокрутки. Тестирование скроллирующей кнопки ArrowButton. Комбинирование элементов в единый компонент NumericScan. Использование компонента NumericScan для управления текстом. Динамическое создание панели управления текстом. Динамическое создание панели представления текста.
-
Стандартные меню приложений
В лекции приводятся примеры работы с тремя новыми классами для организации пользовательского интерфейса управления приложением. Простое меню. Меню с флажками. Декларативное создание меню. Программирование меню. Меню с изображениями. Декларативная часть создания меню. Добавление пиктограмм к объектам команд. Загрузка рисунков через локальный файл ресурсов. Назначение рисункам свойств внедряемых ресурсов. Присоединение рисунка к свойству Image элемента меню через стандартный файл глобальных ресурсов проекта. Размещение рисунка в пользовательском файле глобальных ресурсов. Загрузка пиктограммы из файла рисунка во время выполнения. Динамическое присоединение пиктограмм к элементам меню. Создание элементов меню программным способом. Программирование узлов меню верхнего уровня. Программирование команд. Использование списка изображений для хранения пиктограмм меню. Создание файла ресурсов программным способом. Контекстное меню. Создание контекстного меню динамическим способом. Создание линейки контекстных меню декларативным способом.
Оглавление
-
Панели инструментов и строка состояния
В данной лекции рассматриваются панели инструментов и строка состояния.
-
Стилевое оформление страниц
В лабораторной работе приведены примеры стилевого оформления сайта. Каскадные таблицы стилей. Внутренние стили inline. Встроенные стили embedded. Внешние стили linked. Управление внешними стилями средствами оболочки. Стилевое оформление страниц. Темы. Простое стилевое оформление страницы с помощью темы. Приоритеты тем и CSS. Именованные оформления элементов управления в теме. Оформления сложных элементов управления. Стилевое оформление рисунков. Комбинирование темы и внешних CSS. Применение общей темы в конфигурационном файле. Переключение тем по выбору пользователя. Мастер-страницы. Применение усложненной мастер-страницы. Создание контекстных страниц для мастер-страницы. Наполнение содержимым контекстных страниц. Управление элементами мастер-страницы из контекстной страницы. Программное переключение мастер-страниц. Многослойное подключение мастер-страниц. Подключение мастер-страницы через конфигурационный файл.
Оглавление
-
Пользовательские элементы управления
Пользовательские элементы управления (user control). Специальные серверные элементы. Создание простого пользовательского элемента управления. Регистрация пользовательского элемента на странице. Программирование пользовательского элемента. Порядок генерации событий инициализации. Применение вспомогательных классов при создании сложных пользовательских элементов управления. Доступ из кода Web-страницы к составным компонентам пользовательского элемента управления. Динамическое создание пользовательского элемента управления. Управление динамической загрузкой многих пользовательских элементов управления (портальные каркасы).
-
Навигация по сайту
Навигация с использованием карты сайта. Определение карты сайта. Декларативная привязка к карте сайта. Использование мастер-страниц для размещения ссылок. Программное управление картой сайта. Навигация с использованием фреймов.
-
Управление состоянием страниц на клиенте
Управление состоянием страниц на клиенте. Состояние вида. Программирование словаря ViewState страницы. Программирование ViewState страницы с применением объекта Hashtable. Восстановление состояния вида элемента списка через коллекцию запроса. Шифрование информации в состоянии вида. Скрытые поля. Строки запроса. Межстраничная обратная отсылка данных. Cookie-наборы. Проверка поддержки механизма cookies клиентом. Сохранение данных в состоянии сеанса. Использование механизма сессий. Хранение данных в состоянии приложения. Хранение данных в статических переменных приложения.
-
Интерфейс времени проектирования для компонента
Разработка компонента с развитым интерфейсом времени проектирования. Простейший интерфейс времени проектирования. Атрибуты как средство дополнительной настройки компонента. Добавление к компоненту пиктограммы, класса дизайнера, смарт-тега. Усовершенствование смарт-тега компонента. Управление контекстным меню этапа проектирования компонента. Исключение свойств и событий из панели Properties. Свойства режима проектирования. Вывод дополнительной надписи на компоненте. Управление действием по умолчанию графического редактора. Прямая обработка очереди сообщений Windows.
-
Безопасность: аутентификация с помощью форм
Основные задачи по защите сайта. Сертификаты. Аутентификация форм. Настройка режима аутентификации форм. Хранение удостоверений в конфигурационном файле. Управление доступом анонимных пользователей. Программное добавление пользователей в конфигурационный файл. Создание страницы регистрации. Хеширование паролей в конфигурационном файле. Закрепление за броузером постоянной аутентификации форм. Создание хранилища удостоверений. Добавление в хранилище БД новых пользователей через утилиту WAT. Страница регистрации при использовании Membership. Административные страницы управления аутентификацией с использованием API Membership. Административная страница создания пользователей в БД. Административная страница удаления пользователей из БД. Административная страница извлечения списков пользователей из БД. Административная страница обновления пользователей в БД. Элементы управления вкладки Login. Административная страница регистрации на базе элемента управления Login.
Оглавление
-
1 час 40 минут
-
Олег Корсак
Олег Корсак
Латвия, Рига
Андрей Евграфов
Андрей Евграфов
Россия, Череповец