Об этой книге
Глава 1 Введение в .NET Framework
Занятие 1. Инфраструктура .NET Framework и общеязыковая исполняющая среда
Обзор .NET Framework
.NET Framework и языки программирования
Структура .NET-приложений
Компиляция и исполнение .NET-приложений
Резюме
Занятие 2. Библиотека базовых классов .NET
Типы значений и ссылочные типы
Применение типов .NET Framework в приложениях
Типы значений
Ссылочные типы
Применение переменных ссылочных типов и типов значений
Операторы Imports и using
Ссылки на внешние библиотеки
Резюме
Занятие 3. Классы и структуры
Члены
Создание классов
Создание структур
Добавление членов
Вложенные типы
Создание экземпляров пользовательских типов
Классы и структуры
Резюме
Занятие 4. Методы
Объявление методов
Вызов методов
Переменные методов
Параметры
Выходные параметры
Необязательные параметры
Конструкторы и деструкторы
Резюме
Занятие 5. Область видимости и уровни доступа
Модификаторы доступа к членам
Модификаторы доступа к типам
Модификаторы доступа для вложенных типов
Общие (статические) члены
Доступ к общим членам
Резюме
Занятие 6. Сбор мусора
Циклические ссылки
Резюме
Практикум 1. Применение классов и демонстрация сбора мусора
у|Содержание
Упражнение 1. Создание класса Demo
Упражнение 2. Демонстрация сбора мусора
Закрепление материала
Глава 2 Создание пользовательского интерфейса
Занятие 1. Принципы разработки пользовательского интерфейса .
Формы, элементы управления и меню
Принципы дизайна интерфейса
Простота
Композиция формы
Согласованность
Эстетика внешнего вида
Резюме
Занятие 2. Работа с формами
Добавление формы к проекту
Применение наследования с формами
Назначение стартовой формы
Выбор первоначального размещения формы
Изменение внешнего вида формы
Свойства BackColor, ForeColor и Text
Свойства Font, Cursor и BackGroundlmage
Прозрачность
Применение методов формы
Методы Show и ShowDialog
Метод Activate
Метод Hide
Метод Close
Применение событий формы
События жизненного цикла формы
Событие Load
События Activated и Deactivated
Событие VisibleChanged
Событие Closing
Событие Closed
Резюме
Занятие 3. Применение элементов управления и компонентов .
Работа с элементами управления
Установка порядка передачи фокуса при нажатии клавиши Tab
Вложенные элементы управления и контейнеры
Применение элементов управления Group Box и Panel
Применение элемента управления TabControl
Стыковка и фиксация элементов управления
Применение свойства Anchor
Применение свойства Dock
Применение наборов элементов управления
Добавление элементов управления на панель Toolbox
Создание обработчиков событий элементов управления
Использование провайдеров дополнительных свойств
Резюме
Занятие 4. Меню
Конструирование меню во время разработки
Применение компонента MainMenu
Содержание\f\]
Разделение элементов меню
Доступ к меню с клавиатуры
События элементов меню
Создание контекстного меню
Изменение меню во время выполнения
Активация и деактивация команд меню
Отображение элементов меню с флажками
Отображение элементов меню с переключателями
Как сделать элемент меню невидимым
Клонирование меню
Слияние меню во время выполнения
Создание элементов меню во время выполнения
Резюме
Занятие 5. Проверка данных, вводимых пользователем
Проверка на уровне поля
Применение свойств элемента управления TextBox
Применение событий для проверки на уровне поля
Проверка вводимых символов
Работа с фокусом ввода
Проверка на уровне формы
Обработка событий клавиатуры на уровне формы
Оповещение пользователя об ошибках ввода
Компонент ErrorProvider
Отображение сообщений об ошибках
Резюме
Практикум 2. Приложение Virtual Doughnut Factory
Упражнение 1. Создание пользовательского интерфейса
Упражнение 2. Создание меню
Упражнение 3. Создание обработчиков, проверяющих вводимые данные
Закрепление материала
Глава 3 Типы и члены
Занятие 1. Применение типов данных
Типы данных .NET Framework
Целочисленные типы
Типы значений с плавающей точкой
Нечисловые типы
Преобразование типов
Неявное преобразование
Явное преобразование
Применение встроенной функциональности типов данных
Упаковка
Собственные методы типов данных
Резюме
Занятие 2. Константы, перечисления, массивы и наборы
Константы и перечисления
Применение констант
Применение перечислений
Массивы
Объявление и инициализация массивов
Многомерные массивы
Наборы
Содержание
Класс ArrayList
Другие типы наборов из класса Collections
Перебор элементов массивов и наборов
Резюме
анятие 3. Реализация свойств
Реализация свойств
Свойства, доступные только для чтения или только для записи
Создание свойств, доступных только для чтения
Свойства, доступные только для записи
Параметризованные свойства
Свойства по умолчанию и индексаторы
Свойства-наборы
Резюме
анятие 4. Реализация событий и делегатов
Делегаты
Объявление и генерация событий
Реализация обработчиков событий
Создание обработчиков событий в Visual Basic .NET
Создание обработчиков событий на Visual C#
Создание обработчика для группы событий
События с несколькими обработчиками
Отключение обработчиков во время выполнения
Резюме
[рактикум 3. Добавление компонентов и реализация членов
Упражнение 1. Создание компонента DoughnutMachine
Упражнение 2. Подключение класса DoughnutMachine к пользовательскому
интерфейсу
акрепление материала
пава 4 Объектно-ориентированное программирование и полиморфизм
анятие 1. Введение в объектно-ориентированное программирование
Объекты, члены и абстрагирование
Классы как шаблоны объектов
Объекты и члены
Объектные модели
Инкапсуляция
Полиморфизм
Реализация полиморфизма через интерфейсы
Реализация полиморфизма через наследование
Резюме
анятие 2. Перегрузка членов
Создание перегруженных методов
Перегрузка операторов в Visual C#
Резюме
анятие 3. Реализация полиморфизма через интерфейсы
Определение интерфейсов
Интерфейсы как средство достижения полиморфизма
Реализация интерфейсов
Реализация членов интерфейса на Visual C#
Реализация членов интерфейса на Visual Basic .NET
Резюме
I
Содержание|Х
Занятие 4. Реализация полиморфизма через наследование
Наследование
Полиморфизм и производные классы
Создание производных классов
Создание запечатанных классов
Наследуемые члены
Переопределение членов, унаследованных от базового класса
Замещение членов базового класса в Visual Basic .NET
Сокрытие членов базового класса в Visual C#
Обеспечение совместимости с замещенными или скрытыми членами
Получение доступа к членам базового класса
Защищенные члены
Абстрактные классы и члены
Создание абстрактных классов
Создание абстрактных членов
Наследование от абстрактного класса
Резюме
Практикум 4. Применение производных классов
Упражнение 1. Создание класса строго типизированного набора на основе
класса Collection Base
Упражнение 2. Создание дополнительных типов объектов Doughnut
Упражнение 3. Реализация метода RemoveStale
Закрепление материала
Глава 5 Тестирование и отладка приложений
Занятие 1. Использование отладочных инструментов
Основные типы ошибок
Синтаксические ошибки
Ошибки периода выполнения
Логические ошибки
Пошаговое исполнение кода
Step Into
Step Over
Step Out
Run To Cursor
Set Next Statement
Установка точек прерывания
Окно Breakpoints
Удаление и отключение точек прерывания
Применение отладочных инструментов
Окно Output
Окна Locals, Autos и Watch
Резюме
Занятие 2. Применение классов Debug и Trace
Как работает трассировка
Запись данных, генерируемых классами Trace и Debug
Набор Listeners
Запись трассировочных данных в текстовом формате
Запись трассировочных данных в журнал событий
Применение трассировочных переключателей
Настройка трассировочных переключателей
Резюме
Занятие 3. Создание плана блочного тестирования
План блочного тестирования
Разработка контрольных примеров
Составление тестовых данных
Резюме
Занятие 4. Обработка и генерация исключений
Принципы обработки исключений
Создание обработчиков исключений
Генерация исключений
Повторная генерация исключений
Нестандартные исключения
Резюме
Практикум 5. Отладка приложения
Упражнение 1. Поиск синтаксических ошибок
Закрепление материала
Глава 6 Доступ к данным с помощью ADO.NET
Занятие 1. Обзор ADO.NET
Доступ к отсоединенным данным
Архитектура данных ADO.NET
Объект DataSet
Провайдер данных
Объект Connection
Объект Command
Объект DataReader
Объект DataAdapter
Резюме
Занятие 2. Доступ к данным
Подключение к БД
Команды для манипулирования данными
Создание и настройка команд
Исполнение команд
Применение объекта DataReader
Создание объекта DataReader
Организация простого доступа к данным с помощью объекта DataReader
Выборка столбца с помощью объекта DataReader
Извлечение типизированных данных с помощью объекта DataReader
Работа с несколькими результирующими наборами
Формирование запросов SQL во время выполнения
Создание и настройка объекта DataAdapter
Создание DataAdapter с помощью окна Server Explorer
Создание DataAdapter с помощью мастера Data Adapter
Configuration Wizard
Извлечение данных с помощью объектов DataAdapter
Предварительный просмотр данных
Типизированные объекты DataSet
Резюме
анятие 3. Применение объектов DataSet и обновление данных
Создание и заполнение DataSet без использования DataAdapter
Доступ к "плоским" файлам
Объект DataRelation
Извлечение связанных записей
Ограничения
Ограничения Unique
Ограничения Foreign Key
Модификация и обновление данных
Модификация данных
Обновление базы данных
Транзакции
Обработка ошибок при обновлении базы данных
Резюме
Занятие 4. Связывание, просмотр и фильтрация данных
Связывание данных
Провайдеры данных
Потребители данных
Создание элемента управления, использующего простое
связывание данных
Связывание данных в период выполнения
Управление потоком данных
Сложное связывание данных
Фильтрация и сортировка данных
Создание объектов Data View
Фильтрация и сортировка содержимого DataSet
Модификация данных через объект DataView
Класс DataViewManager
Резюме
Занятие 5. Применение XML в ADO.NET
Извлечение данных XML из баз данных SQL Server 2000
Получение объекта XmlReader с помощью SqlCommand
Применение XML с объектами DataSet
Чтение XML-данных в объект DataSet
Запись содержимого объекта DataSet в формате XML
Применение класса XmlDataDocument
Преобразования XSL
Резюме
Практикум 6. Подключение к базе данных
Упражнение 1. Организация доступа к данным и работа с объектом
DataReader
Упражнение 2. Извлечение и обновление данных с помощью объектов
DataAdapter и DataSet
Упражнение 3. Создание типизированного объекта DataSet с помощью
XML Designer
Упражнение 4. Работа с мастером Data Form
Закрепление материала
Глава 7 Создание элементов управления с помощью .NET Framework .
Занятие 1. Применение GDI+
Пространства имен System. Drawing
Объект Graphics
Объекты Color, Brush и Pen
Системные кисти, перья и цвета
Рисование простых фигур
Отображение текста
Рисование сложных фигур
XII
Создание объекта GraphicsPath
Резюме
Занятие 2. Создание элементов управления
Принципы создания элементов управления
Наследование от существующих элементов управления
Наследование от класса UserControl
Наследование от класса Control
Добавление членов к элементам управления
Создание производных элементов управления
Реализация новых возможностей в производных элементах управления
Модификация внешнего вида существующих элементов управления .
Создание составных элементов управления
Создание формируемых элементов управления
Резюме
Занятие 3. Решение типичных задач, связанных с разработкой элементов
управления
Добавление элементов управления на панель Toolbox
Назначение значка элементу управления
Отладка элементов управления
Управление лицензированием элементов управления
Загрузка элемента управления в Internet Explorer
Резюме
Практикум 7. Создание нестандартного элемента управления
Упражнение 1. Создание элемента управления
Упражнение 2. Тестирование элемента управления
Закрепление материала
Глава 8 Сложные случаи программирования с применением .NET Framework
Занятие 1. Поддержка печати
Компонент PrintDocument
Создание объекта PrintDocument
Как работает поддержка печати
Событие PrintPage
Вывод на печать
Печать графики
Печать текста
Печать многострочного текста
Работа с цветами
Применение элемента управления PrintPreviewControl
Элемент управления PrintPreviewDialog
Настройка параметров печати
PrintDialog
PageSetupDialog
Конфигурирование PageSettings в период выполнения
Резюме
Занятие 2. Получение доступа к компонентам и их вызов
Получение доступа к библиотекам типов .NET и СОМ
Создание экземпляров элементов управления ActiveX
Доступ к Web-сервисам
Вызов функций Windows API
Резюме
Занятие 3. Реализация дополнительных возможностей доступа
Реализация специальных возможностей на этапе проектирования
Специальные возможности и логотип "Certified for Windows"
Поддержка стандартных параметров
Поддержка высококонтрастных цветовых схем
Наличие документированных возможностей доступа с клавиатуры
ко всем функциям программы
Поддержка следования за фокусом ввода
Использование различных средств отображения информации
Специальные возможности и элементы управления Windows Forms
Резюме
Занятие 4. Создание справочной системы
Работа с классом Help
Применение компонента HelpProvider
Резюме
Занятие 5. Глобализация и локализация
Определение глобализации и локализации
Концепция культур
Получение и установка текущей культуры
Глобализация приложений
Локализация приложений
Получение и установка текущей культуры пользовательского интерфейса
Создание локализованных форм
Проверка информации, вводимой на разных языках
Форматирование, зависимое от культуры
Отображение текста справа налево
Преобразование кодировки символов
Резюме
Практикум 8. Создание локализованной формы, поддерживающей печать
Упражнение 1. Создание формы
Упражнение 2. Локализация формы
Упражнение 3. Создание поддержки печати
Закрепление материала
Глава 9 Конфигурирование и защита сборок
Занятие 1. Сборки и ресурсы
Сборки
Создание сборок с библиотеками классов
Ресурсы и ресурсные сборки
Создание ресурсных файлов
Внедрение ресурсов в сборки
Создание ресурсных сборок
Создание сопутствующих сборок
Извлечение ресурсов во время выполнения
Извлечение из сопутствующих сборок ресурсов, специфичных для
культуры
Разделяемые сборки
Закрытые и разделяемые сборки
Строгое имя
Установка сборок в GAC
Резюме
Содержание
Занятие 2. Конфигурирование и оптимизация приложений
Создание конфигурационного файла
Схема конфигурационного файла
Динамические свойства
Настройка динамических свойств посредством окна Properties
Установка и извлечение динамических свойств вручную
Оптимизация приложений
Оптимизация на этапе разработки
Стратегия оптимизации
Измерение производительности _
Оптимизация средствами компилятора
Резюме
Занятие 3. Защита приложений
Разрешения
Интерфейс IPermission
Модель защиты, основанная на ролях
Объект Principal
Императивная защита, основанная на ролях
Декларативная защита, основанная на ролях
Конфигурирование защиты по правам доступа к коду
Разрешения на доступ к коду
Создание разрешений на доступ к коду
Члены класса CodeAccessPermission
Императивная защита по правам доступа к коду
Декларативная защита по правам доступа к коду
Обработка исключений и императивная защита
Резюме
Практикум 9. Конфигурирование и защита приложения
Упражнение 1. Создание конфигурационного файла
Упражнение 2. Защита приложения
Закрепление материала
Глава 10 Развертывание
Занятие 1. Планирование развертывания приложения
Развертывание приложений с помощью XCOPY
Создание проекта установочной программы
Мастер Setup Project
Параметры компоновки установочной программы
Output File Name
Package Files
CAB Size
Bootstrapper
Compression
Подпись Authenticode
Компоновка, распространение и развертывание проекта
Компоновка
Распространение на сменных носителях
Распространение через сеть
Распространение приложений через Интернет
Развертывание проекта
Резюме
Занятие 2. Конфигурирование проекта установочной программы
Проект установочной программы
Регистрация компонентов во время установки
Редакторы свойств программы установки
Редактор файловой системы
Редактор реестра
Редактор типов файлов
Редактор пользовательского интерфейса
Редактор нестандартных действий
Редактор условий установки
Установка сборок в виде компилированных образов
Проверка разрешений, запрашиваемых установленной сборкой
Резюме
Практикум 10. Создание установочной программы
Упражнение 1. Создание проекта установочной программы
Упражнение 2. Настройка установочной программы
Упражнение 3. Установка приложения
Закрепление материала
Приложение Вопросы и ответы
Предметный указатель