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

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Самостоятельная работа 1
25 минут
Простое приложение на нескольких языках программирования
В лекции рассматривается простое консольное приложение, разработанное на классах нескольких языков: C++, C#, Visual Basic.
Оглавление
    -
    Самостоятельная работа 2
    24 минуты
    Установка простого приложения ASP.NET на C#
    Установка IIS. Создание web-страницы на ASP.NET.
    Оглавление
      -
      Самостоятельная работа 1
      36 минут
      -
      Самостоятельная работа 3
      2 часа 38 минут
      Управление 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.
      Оглавление
        -
        Самостоятельная работа 4
        2 часа 59 минут
        Управление Web-элементами в ASP.NET
        Распознавание браузера. Сравнение html-элементов и Web-элементов. Web-элементы и их программирование. Этапы взаимодействия броузера и сервера в ASP.NET. Модель событий Web-форм. Обработка страницы. Web-элементы управления Label, TextBox,Button, HyperLink, CheckBox, CheckBoxList, RadioButton, RadioButtonList, DropDownList, ListBox. Обмен списков данными. Привязка Web-элементов управления к базе данных. Web-элемент AdRotator для управления рекламными баннерами.
        Оглавление
          -
          Самостоятельная работа 2
          1 час 3 минуты
          -
          Самостоятельная работа 5
          2 часа 2 минуты
          Элементы управления Data в приложениях на C#
          В лекции рассматривается типовая учебная база данных Northwind. Пространство имен BCL. Подключение к данным связанного списка. Управление составом данных, отображаемых в связанном списке. Просмотр отдельных текстовых полей по выбранному элементу списка. Редактирование и обновление данных, добавление и удаление записей с использованием связанных элементов управления. Обработка ошибок с помощью связанных элементов управления.
          Оглавление
            -
            Самостоятельная работа 6
            52 минуты
            Элементы управления DataGrid и ComboBox в приложениях ADO.NET на C#
            Связывание данных с элементами управления DataGrid и ComboBox. Повышение степени детализации представления данных в элементе управления DataGrid. Элементы интерфейса пользователя.
            Оглавление
              -
              Самостоятельная работа 7
              1 час 22 минуты
              Создание объектов базы данных SQL Server средствами оболочки VS.NET 2003
              Создание базы данных: создание таблиц и полей, создание индексов, назначение связей между таблицами. Установка ограничений и значений, применяемых по умолчанию. Создание представлений и хранимых процедур.
              Оглавление
                -
                Самостоятельная работа 3
                42 минуты
                -
                Самостоятельная работа 8
                59 минут
                Просмотр данных средствами ADO.NET с привязкой на этапе выполнения
                Выборка данных с использованием объекта DataReader. Выборка данных из базы данных SQL Server с применением объекта DataTable. Поиск записей с помощью объекта DataRow. Отбор и сортировка записей с помощью объекта DataView.
                Оглавление
                  -
                  Самостоятельная работа 9
                  1 час 23 минуты
                  Редактирование данных в среде ADO.NET
                  Свойства и методы объектов DataAdapter, DataSet. Редактирование данных средствами DataSet. Добавление и удаление строк в наборе данных средствами среды ADO.NET. Выполнение параметризованных хранимых процедур в среде ADO.NET. Динамическое создание и выполнение пакетных заданий по обновлению данных в среде ADO.NET.
                  Оглавление
                    -
                    Самостоятельная работа 4
                    36 минут
                    -
                    Самостоятельная работа 10
                    2 часа 15 минут
                    Введение в DirectX
                    Библиотека классов DirectX. Установка Microsoft ® DirectX ® 9.0 SDK Update (Summer 2003). Пространство имен Microsoft.DirectX.Direct3D. Создание устройства. Рисование плоского и трехмерного треугольника. Задание положения треугольника в мировых координатах. Создание перспективы. Добавление камеры. Отключение потребности в освещении сцены. Вращение треугольника вокруг координатной оси. Вращение треугольника вокруг произвольной оси. Обработка события изменения размеров окна. Создание освещения сцены. Хранение треугольника в вершинном буфере.
                    Оглавление
                      -
                      Самостоятельная работа 11
                      26 минут
                      Выбор подходящего устройства в DirectX
                      В лекции рассматривается работа адаптеров устройств в DirectX. Свопинг-связки и рендеры. Форматы вторичных буферов и дисплеев. Проверка возможностей устройства.
                      Оглавление
                        -
                        Самостоятельная работа 5
                        36 минут
                        -
                        Самостоятельная работа 12
                        1 час 10 минут
                        Рендеринг вращающихся кубов в DirectX
                        В лекции приводятся примеры рисования графических примитивов. Создание вращающегося куба. Добавление функциональности остановки вращения. Текстурирование сторон вращающегося куба.
                        Оглавление
                          -
                          Самостоятельная работа 13
                          1 час 15 минут
                          Более совершенные технологии рендеринга в DirectX
                          В лекции рассматривается использование примитивов, отличных от треугольников. Рендеринг различных типов примитивов. Использование индексных буферов. Создание нескольких вращающихся кубов с применением буфера глубины.
                          Оглавление
                            -
                            Самостоятельная работа 14
                            1 час 10 минут
                            Использование Mesh-объектов в DirectX
                            Создание Mesh-объекта. Добавление материалов и освещения. Использование более реалистичного освещения. Загрузка Mesh-объектов из внешних файлов.
                            Оглавление
                              -
                              Самостоятельная работа 6
                              33 минуты
                              -
                              Самостоятельная работа 15
                              1 час 39 минут
                              Вывод текста в клиентскую область формы
                              Применение секционных скобок для удобства редактирования. Создание заготовок для дочерних форм. Использование библиотеки FCL. Получение информации о системе. Разделение текстовых строк. Разбивка текста на колонки. Создание своего класса со свойствами "только для чтения". Организация прокрутки с помощью элемента Panel. Механизм работы автопрокрутки. Прокрутка без использования элементов управления. Отслеживание изменений в выводимой информации. Оптимизация работы функции прорисовки недействительной области.
                              Оглавление
                                -
                                Самостоятельная работа 16
                                1 час 39 минут
                                Рисование графических примитивов средствами GDI+
                                В лекции рассматриваются два вида компьютерной графики: векторная и растровая графика. Способы создания объекта Graphics. Рисование прямых линий. Использование некоторых возможностей печати документа. Разделение кода вывода на экран и печать. Рисование ломаных линий и домика ломаными линиями. Применение функции DrawLines() для рисования графиков. Параметрические уравнения и рисование кривых. Рисование эллипса специализированным методом, спирали, прямоугольников, дуг. Рисование прямоугольника с закругленными углами и секторов. Улучшенное рисование секторов. Заливка прямоугольников, эллипсов и секторов.
                                Оглавление
                                  -
                                  Самостоятельная работа 17
                                  3 часа 2 минуты
                                  Программирование простой игры в DirectX
                                  Программирование движка игры. Создание устройства в главном классе. Установка камеры и освещения сцены. Добавление кода запуска рендеринга. Добавление кода создания дороги. Фильтрация текстуры дороги. Имитация движения дороги. Создание автомобиля. Добавление к проекту нового класса Car. Добавление свойств в класс Car. Создание объекта Car в движке игры. Клавиатурное управление автомобилем. Добавление препятствий. Генерация одного препятствия в конструкторе класса. Другие заготовки для создания препятствий. Добавление вращений к препятствиям. Оформление атрибутики игры. Разработка табло результатов. Добавление текстовых надписей и запись лучших результатов в системный реестр.
                                  Оглавление
                                    -
                                    Самостоятельная работа 18
                                    2 часа 19 минут
                                    Нестандартные формы и стандартные диалоги
                                    Создание непрямоугольной формы. Страницы свойств и стандарные диалоги. Свойства компонента TabControl. Разработка вкладок "Обзор" и MessageBox. Параметры метода Show(). Разработка итерфейса вкладки MessageBox. Программирование вкладки MessageBox. Базовый класс FileDialog. Разработка вкладки OpenFileDialog, SaveFileDialog. Распределение кода по отдельным файлам. Разработка вкладки ColorDialog. Добавление иконок к формам через файл ресурсов.
                                    Оглавление
                                      -
                                      Самостоятельная работа 7
                                      36 минут
                                      -
                                      Самостоятельная работа 19
                                      1 час 3 минуты
                                      Простая программа на OpenGL
                                      Первая программа OpenGL. Создание заготовки приложения OpenGL. Создание простого графического окна. Разбор кода Simple. Рисование прямоугольника внутри окна (GLRect). Масштабирование рисунка под размеры окна. Анимация прямоугольника с помощью OpenGL и GLUT (Bounce). Библиотечная функция таймера. Двойная буферизация.
                                      Оглавление
                                        -
                                        Самостоятельная работа 20
                                        2 часа 26 минут
                                        Геометрические примитивы в OpenGL
                                        Поддержка меню в GLUT. Установка отсекающего объема (куба) для рисования сцены. Рисование точек (Points). Задание размера точки (PointsZ). Рисование линий в трехмерном пространстве (Lines). Ломаные и замкнутые линии. Управление шириной линий (LinesW). Фактура линий (LinesStipple). Рисование многоугольников в трехмерном пространстве. Рисование треугольников. Обход вершин. Ленты и вееры треугольников. Рисование конуса (Triangle). Удаление скрытых поверхностей. Отбор (culling). Каркасный режим и режим с заливкой. Фактура многоугольников (PolygonStipple). Каркасный режим: отсечение внутренних граней (Star).
                                        Оглавление
                                          -
                                          Самостоятельная работа 21
                                          2 часа 29 минут
                                          Непрограммируемый конвейер в OpenGL
                                          В лекции рассматривается непрогроммируемый геометрический конвейер OpenGL. Системы координат. Команды управления текущими матрицами преобразования. Модельные и проекционные преобразования. Стеки матриц. Построение модели атома в ортогональной проекции (Atom). Модель полого бруска в ортогональной проекции (Ortho). Модель полого бруска в перспективной проекции (Perspect). Построение модели атома в перспективной проекции (Atom Perspect). Моделирование системы с относительными вращениями (Solar). Прямая загрузка матриц преобразований (Transform). Прямая загрузка матриц преобразований (SphereWorld).
                                          Оглавление
                                            -
                                            Самостоятельная работа 8
                                            36 минут
                                            -
                                            Самостоятельная работа 22
                                            4 часа 20 минут
                                            Свет и материалы в OpenGL
                                            Глаз человека и оптические системы. Куб цвета (ColorCube). Свет и материя. Модель освещения. Модель самолета без использования освещения (Jet). Рисование освещенной сферы (LightSphere). Материал и его свойства. Задание свойств материала. Первый способ задания нескольких материалов (MultiMaterial). Группы атрибутов. Второй способ задания нескольких материалов (ColorSphere). Источники света и их свойства. Модель самолета с нулевым освещением (JetNight). Модель самолета с равномерным освещением (JetLight). Модель самолета с зеркальным отражением (JetShiny). Кристалл и прожектор (CrystalAndSpot). Модель самолета и его тени (JetShadow). Освещенный мир сфер (SphereWorld).
                                            Оглавление
                                              -
                                              Самостоятельная работа 23
                                              7 минут
                                              Смешивание, туман, сглаживание, отклонение в OpenGL
                                              В лекции рассматривается пример работы со смешиванием.
                                              Оглавление
                                                -
                                                Самостоятельная работа 9
                                                36 минут
                                                -
                                                Самостоятельная работа 24
                                                1 час 42 минуты
                                                Пользовательские компоненты
                                                Рассматриваются этапы разработки компонентов. Выбор базового класса компонента. Создание визуального компонента FirstComponent. Пробное тестирование компонента. Развертывание свойств вложенного объекта компонента. Установка значений свойств компонента по умолчанию. Создание невизуального компонента Planets. Создание невизуального компонента-будильника AlarmClock (тревожные часы) с собственным событием. Добавление в компонент пользовательского события стандартным способом. Тестирование компонента AlarmClock. Добавление в компонент пользовательского события расширенным способом.
                                                Оглавление
                                                  -
                                                  Самостоятельная работа 25
                                                  3 часа 2 минуты
                                                  Пользовательский интерфейс Windows Forms для C#
                                                  В данной лабораторной работе рассматриваются некоторые воможности интегрированной среды разработки программного обеспечения (IDE - Integrated Development Environment) Visual Studio.NET 2005. Установка пароля на главное окно приложения. Добавление списка для запуска упражнений. Смайлики. Краткое описание части компонентов панели Toolbox. Простой калькулятор. Применение коллекций для предотвращения повторных запусков формы. Встраивание COM-объекта "Windows Media Player" в свое приложение. Добавление к форме других элементов управления.
                                                  Оглавление
                                                    -
                                                    Самостоятельная работа 26
                                                    1 час 43 минуты
                                                    Пользовательские элементы управления
                                                    Графический интерфейс пользователя (GUI - Graphics User Interface). Построение элемента управления BeepButton. Переопределение наследуемого от Control виртуального метода диспетчеризации события Click. Проектирование диалогового окна сообщений MyDialogBox. Тестирование пользовательских элементов BeepButton и MyDialogBox. Проектирование музыкальной кнопки SoundButton. Создание компонента блока музыкальных кнопок SoundButtonBox. Подготовка файлов звука к проигрыванию компонентом SoundButtonBox. Тестирование компонента SoundButtonBox. Рисование круглой кнопки.
                                                    Оглавление
                                                      -
                                                      Самостоятельная работа 27
                                                      2 часа 5 минут
                                                      Разработка комбинированного компонента
                                                      В данной лабораторной работе приведены упражнения по созданию собственных пользовательских комопонентов. Добавление объектов всплывающей подсказки. Таблица цветов структуры Color. Разработка кнопки ClickmaticButton. Наполнение класса ClickmaticButton функциональностью генерации щелчков мыши. Тестирование генерирующей кнопки ClickmaticButton. Разработка кнопки в стиле полос прокрутки. Тестирование скроллирующей кнопки ArrowButton. Комбинирование элементов в единый компонент NumericScan. Использование компонента NumericScan для управления текстом. Динамическое создание панели управления текстом. Динамическое создание панели представления текста.
                                                      Оглавление
                                                        -
                                                        Самостоятельная работа 10
                                                        36 минут
                                                        -
                                                        Самостоятельная работа 28
                                                        2 часа 45 минут
                                                        Стандартные меню приложений
                                                        В лекции приводятся примеры работы с тремя новыми классами для организации пользовательского интерфейса управления приложением. Простое меню. Меню с флажками. Декларативное создание меню. Программирование меню. Меню с изображениями. Декларативная часть создания меню. Добавление пиктограмм к объектам команд. Загрузка рисунков через локальный файл ресурсов. Назначение рисункам свойств внедряемых ресурсов. Присоединение рисунка к свойству Image элемента меню через стандартный файл глобальных ресурсов проекта. Размещение рисунка в пользовательском файле глобальных ресурсов. Загрузка пиктограммы из файла рисунка во время выполнения. Динамическое присоединение пиктограмм к элементам меню. Создание элементов меню программным способом. Программирование узлов меню верхнего уровня. Программирование команд. Использование списка изображений для хранения пиктограмм меню. Создание файла ресурсов программным способом. Контекстное меню. Создание контекстного меню динамическим способом. Создание линейки контекстных меню декларативным способом.
                                                        Оглавление
                                                          -
                                                          Самостоятельная работа 29
                                                          8 минут
                                                          Панели инструментов и строка состояния
                                                          В данной лекции рассматриваются панели инструментов и строка состояния.
                                                          Оглавление
                                                            -
                                                            Самостоятельная работа 11
                                                            36 минут
                                                            -
                                                            Самостоятельная работа 30
                                                            55 минут
                                                            Web-службы
                                                            В данной лекции рассматриваются панели инструментов и строка состояния.
                                                            Оглавление
                                                              -
                                                              Самостоятельная работа 31
                                                              4 часа 37 минут
                                                              Стилевое оформление страниц
                                                              В лабораторной работе приведены примеры стилевого оформления сайта. Каскадные таблицы стилей. Внутренние стили inline. Встроенные стили embedded. Внешние стили linked. Управление внешними стилями средствами оболочки. Стилевое оформление страниц. Темы. Простое стилевое оформление страницы с помощью темы. Приоритеты тем и CSS. Именованные оформления элементов управления в теме. Оформления сложных элементов управления. Стилевое оформление рисунков. Комбинирование темы и внешних CSS. Применение общей темы в конфигурационном файле. Переключение тем по выбору пользователя. Мастер-страницы. Применение усложненной мастер-страницы. Создание контекстных страниц для мастер-страницы. Наполнение содержимым контекстных страниц. Управление элементами мастер-страницы из контекстной страницы. Программное переключение мастер-страниц. Многослойное подключение мастер-страниц. Подключение мастер-страницы через конфигурационный файл.
                                                              Оглавление
                                                                -
                                                                Самостоятельная работа 12
                                                                39 минут
                                                                -
                                                                Самостоятельная работа 32
                                                                2 часа 26 минут
                                                                Пользовательские элементы управления
                                                                Пользовательские элементы управления (user control). Специальные серверные элементы. Создание простого пользовательского элемента управления. Регистрация пользовательского элемента на странице. Программирование пользовательского элемента. Порядок генерации событий инициализации. Применение вспомогательных классов при создании сложных пользовательских элементов управления. Доступ из кода Web-страницы к составным компонентам пользовательского элемента управления. Динамическое создание пользовательского элемента управления. Управление динамической загрузкой многих пользовательских элементов управления (портальные каркасы).
                                                                Оглавление
                                                                  -
                                                                  Самостоятельная работа 33
                                                                  1 час 17 минут
                                                                  Навигация по сайту
                                                                  Навигация с использованием карты сайта. Определение карты сайта. Декларативная привязка к карте сайта. Использование мастер-страниц для размещения ссылок. Программное управление картой сайта. Навигация с использованием фреймов.
                                                                  Оглавление
                                                                    -
                                                                    Самостоятельная работа 34
                                                                    1 час 42 минуты
                                                                    Многокадровые элементы управления
                                                                    Элемент управления MultiView. Управление работой вкладок. Добавление к MultiView функций навигации. Элемент управления Wizard. Программирование событий элемента управления Wizard. Стили элемента Wizard. Шаблоны элемента Wizard.
                                                                    Оглавление
                                                                      -
                                                                      Самостоятельная работа 13
                                                                      36 минут
                                                                      -
                                                                      Самостоятельная работа 35
                                                                      3 часа 1 минута
                                                                      Управление состоянием страниц на клиенте
                                                                      Управление состоянием страниц на клиенте. Состояние вида. Программирование словаря ViewState страницы. Программирование ViewState страницы с применением объекта Hashtable. Восстановление состояния вида элемента списка через коллекцию запроса. Шифрование информации в состоянии вида. Скрытые поля. Строки запроса. Межстраничная обратная отсылка данных. Cookie-наборы. Проверка поддержки механизма cookies клиентом. Сохранение данных в состоянии сеанса. Использование механизма сессий. Хранение данных в состоянии приложения. Хранение данных в статических переменных приложения.
                                                                      Оглавление
                                                                        -
                                                                        Самостоятельная работа 36
                                                                        1 час 58 минут
                                                                        Интерфейс времени проектирования для компонента
                                                                        Разработка компонента с развитым интерфейсом времени проектирования. Простейший интерфейс времени проектирования. Атрибуты как средство дополнительной настройки компонента. Добавление к компоненту пиктограммы, класса дизайнера, смарт-тега. Усовершенствование смарт-тега компонента. Управление контекстным меню этапа проектирования компонента. Исключение свойств и событий из панели Properties. Свойства режима проектирования. Вывод дополнительной надписи на компоненте. Управление действием по умолчанию графического редактора. Прямая обработка очереди сообщений Windows.
                                                                        Оглавление
                                                                          -
                                                                          Самостоятельная работа 37
                                                                          2 часа 52 минуты
                                                                          Безопасность: аутентификация с помощью форм
                                                                          Основные задачи по защите сайта. Сертификаты. Аутентификация форм. Настройка режима аутентификации форм. Хранение удостоверений в конфигурационном файле. Управление доступом анонимных пользователей. Программное добавление пользователей в конфигурационный файл. Создание страницы регистрации. Хеширование паролей в конфигурационном файле. Закрепление за броузером постоянной аутентификации форм. Создание хранилища удостоверений. Добавление в хранилище БД новых пользователей через утилиту WAT. Страница регистрации при использовании Membership. Административные страницы управления аутентификацией с использованием API Membership. Административная страница создания пользователей в БД. Административная страница удаления пользователей из БД. Административная страница извлечения списков пользователей из БД. Административная страница обновления пользователей в БД. Элементы управления вкладки Login. Административная страница регистрации на базе элемента управления Login.
                                                                          Оглавление
                                                                            -
                                                                            Самостоятельная работа 14
                                                                            36 минут
                                                                            -
                                                                            5 часов
                                                                            -
                                                                            Иван Циферблат
                                                                            Иван Циферблат
                                                                            Россия, Таганрог, 36, 2000