Книга содержит подробное описание 32 проектов, демонстрирующих различные аспекты создании Windows-приложений для платформы NET Framework в среде Microsoft Visual C# 2005/2008. Рассматриваются оптимальные приемы разработки программ, управляемых событиями, механизм обработки исключений, особенности консольных и MDI-приложений. Детально описываются основные компоненты библиотеки Windows Forms и классы, входящие в графическую библиотеку GDI+. Демонстрируются приемы работы с клавиатурой и мышью, а также дополнительные возможности .NET-приложений, в том числе реализация режима перетаскивания drag & drop, работа с реестром Windows и др. На компакт-диске содержатся исходные тексты проектов, описанных в книге.
Author(s): Абрамян М. Э.
Year: 2008
Language: Russian
Commentary: 1146127476-хор+OCR
Pages: 496
Предисловие ......Page 3
ЧАСТЬ I ......Page 7
1.1. Создание, сохранение и открытие проекта ......Page 9
1.2. Добавление к проекгу новой формы и размещение в форме нового компонента ......Page 12
1.3. Настройка свойств форм и компонентов ......Page 16
1.4. Определение обработчиков событий ......Page 19
1.5. Внесение изменений в текст программы ......Page 20
1.6. Запуск приложения ......Page 23
2.1. Создание консольного приложения ......Page 25
Комментарии ......Page 27
2.2. Получение информации о текущем диске ......Page 28
Комментарии ......Page 29
2.3. Использование параметров командной строки ......Page 32
Комментарий ......Page 34
3.1. Обработка конкретного исключенияи групп исключений ......Page 35
Комментарии ......Page 39
3.2. Обработка любого исключения ......Page 40
Комментарий ......Page 41
Комментарии ......Page 42
4.1. Связывание события с обработчиком ......Page 44
Комментарии ......Page 46
4.2. Отключение обработчика от события ......Page 48
Комментарии ......Page 49
4.3. Подключение к событию другого обработчика ......Page 51
Комментарии ......Page 53
5.1. Настройка визуальных свойств форм. Открытие форм в обычном и модальном режиме ......Page 55
Комментарии ......Page 58
Комментарии ......Page 60
5.3. Компоненты, подстраивающиеся под размер окна ......Page 61
Комментарии ......Page 62
5.4. Модальные и обычные кнопки диалогового окна ......Page 63
Комментарии ......Page 64
5.5. Установка активного компонента формы ......Page 65
5.6. Запрос на подтверждение закрытия формы ......Page 66
Комментарии ......Page 68
6.1. Обработчик событий для нескольких компонентов ......Page 70
6.2. Вычисления с контролем правильности исходных данных ......Page 72
Комментарии ......Page 73
6.3. Простейшие приемы ускорения работыс помощью клавиатуры ......Page 74
6.4. Использование обработчика событий от клавиатуры ......Page 75
6.5. Контроль за изменением исходных данных ......Page 77
7.1. Использование стандартных курсоров ......Page 79
Комментарии ......Page 81
7.2. Установка курсора для формы и индикация режима ожидания с помощью курсора ......Page 82
Комментарии ......Page 83
7.3. Подключение к проекту новых курсоров и их сохранение в виде внедренных ресурсов ......Page 84
Комментарии ......Page 85
7.4. Работа со значками ......Page 86
7.5. Размещение значка в области уведомлений ......Page 87
Комментарии ......Page 88
8.1. Дополнительное выделение активного поля ввода ......Page 90
Комментарии ......Page 92
8.2. Управление порядком обхода полей в форме ......Page 93
Комментарий ......Page 95
Комментарии ......Page 96
Комментарий ......Page 97
8.5. Предоставление дополнительной информации об ошибке ......Page 98
8.6. Проверка ошибок на уровне формы ......Page 99
Комментарий ......Page 100
9.1. Определение цвета как комбинации четырех цветовых составляющих. Ползунки ......Page 101
Комментарии ......Page 104
9.2. Инвертирование цветов и вывод цветовых констант ......Page 106
Комментарии ......Page 107
9.4. Вывод цветовых имен ......Page 108
Комментарии ......Page 109
9.6. Привязка компонентов ......Page 111
Комментарии ......Page 112
10.1. Перетаскивание с помощью мыши. Настройка г-порядка компонентов ......Page 114
Комментарии ......Page 116
10.2. Изменение размеров с помощью мыши ......Page 119
Комментарии ......Page 121
10.3. Использование дополнительных курсоров ......Page 122
10.4. Обработка ситуации с одновременным нажатием двух кнопок мыши: первый вариант ......Page 123
10.5. Обработка ситуации с одновременным нажатием двух кнопок мыши: второй вариант ......Page 125
10.6. Обработка ситуации с одновременным нажатием двух кнопок мыши: третий вариант ......Page 126
Комментарии ......Page 128
10.7. Перетаскивание компонентов любого типа. Поиск и замена в текстах программ ......Page 129
Комментарии ......Page 130
11.1. Перетаскивание меток по форме ......Page 133
Комментарии ......Page 135
11.2. Перетаскивание меток в поля ввода ......Page 137
11.3. Взаимодействие меток при их перетаскивании друг на друга ......Page 139
Комментарии ......Page 140
Комментарий ......Page 141
11.5. Дополнительное выделение источника и приемника в ходе перетаскивания ......Page 142
Комментарии ......Page 143
Комментарии ......Page 144
11.7. Информация о текущем состоянии программы. Кнопки с изображениями ......Page 145
Комментарии ......Page 147
11.8. Восстановление исходного состояния ......Page 148
Комментарий ......Page 149
12.1. Отображение текущего времени ......Page 151
Комментарий ......Page 152
12.2. Реализация возможностей секундомера ......Page 153
Комментарий ......Page 157
12.3. Альтернативные варианты выполнения команде помощью мыши ......Page 158
12.4. Отображение текущего состояния часов и секундомера на панели задач ......Page 159
13.1. Добавление в окно Toolbox новых компонентов ......Page 161
13.2. Просмотр изображений из файлов на текущем диске ......Page 162
Комментарии ......Page 166
13.3. Стыковка компонентов и ее особенности ......Page 170
Комментарий ......Page 171
13.4. Возможность смены диска ......Page 172
13.5. Настройка режима просмотра изображений ......Page 174
Комментарии ......Page 176
13.6. Сохранение в реестре Windows информации о состоянии программы ...176 Комментарии ......Page 177
13.7. Восстановление из реестра Windows информации о состоянии программы ......Page 179
Комментарии ......Page 181
ЧАСТЬ II ......Page 183
14.1. Создание, сохранение и загрузка графических файлов ......Page 185
Комментарии ......Page 192
14.2. Отслеживание текущих координат изображения ......Page 196
14.3. Рисование тонким пером ......Page 197
Комментарии ......Page 199
14.4. Очистка изображения ......Page 200
Комментарий ......Page 201
15.1. Рисование цветным пером ......Page 202
Комментарии ......Page 204
15.2. Второй режим рисования: прямые линии ......Page 205
Комментарии ......Page 209
16.1. Настройка фонового цвета ......Page 211
16.2. Третий режим рисования: прямоугольники ......Page 213
Комментарии ......Page 216
16.3. Рисование эллипсов ......Page 217
Комментарии ......Page 219
16.4. Рисование прозрачных фигур ......Page 220
17.1. Рисование квадратов и окружностей ......Page 223
17.2. Отмена предыдущей операции ......Page 225
Комментарий ......Page 227
17.3. Задание цветов с помощью пипетки ......Page 228
17.4. Четвертый режим рисования: добавление в рисунок текста ......Page 229
Комментарии ......Page 232
17.5. Настройка стиля изображения линии ......Page 233
Комментарии ......Page 235
18.1. Создание меню ......Page 236
Комментарии ......Page 239
18.2. Сохранение текста в файле ......Page 240
Комментарии ......Page 241
18.3. Очистка области редактирования и открытие нового файла ......Page 242
Комментарии ......Page 244
18.4. Запрос о сохранении изменений, внесенных в текст ......Page 245
Комментарии ......Page 246
19.1. Установка начертания символов (команды меню — флажки) ......Page 248
Комментарии ......Page 250
19.2. Установка выравнивания текста (команды меню — переключатели) ......Page 251
Комментарии ......Page 252
19.3. Установка цвета символов и фона (команды меню третьего уровня и окно диалога Цвет) ......Page 253
19.4. Установка свойств шрифта с помощью окна диалога Шрифт ......Page 254
Комментарии ......Page 257
20.1. Команды редактирования ......Page 258
Комментарии ......Page 260
20.2. Выделение недоступных команд редактирования. Работа с буфером обмена ......Page 261
Комментарий ......Page 262
20.3. Создание контекстного меню ......Page 263
21.1. Создание панели инструментов с кнопками быстрого доступа. Добавление изображений к пунктам меню ......Page 265
Комментарий ......Page 268
21.2. Размещение на панели инструментов кнопок-флажков и кнопок-переключателей ......Page 269
Комментарии ......Page 272
22.1. Использование статусной панели ......Page 273
22.3. Скрытие панелей ......Page 275
22.4. Вывод подсказок на статусную панель ......Page 276
Комментарии ......Page 278
23.1. Замена компонента TextBox на компонент RichTextBox ......Page 280
Комментарии ......Page 283
23.2. Корректировка состояния кнопок быстрого доступа и команд меню при изменении текущего формата ......Page 284
23.3. Настройка свойств абзаца ......Page 286
23.4. Отображение текущей строки и столбца ......Page 289
Комментарий ......Page 290
23.5. Загрузка и сохранение текста без форматных настроек ......Page 291
Комментарии ......Page 292
ЧАСТЬ III ......Page 295
24.1. Установка флажков и проверка их состояния ......Page 297
Комментарии ......Page 300
24.2. Глобальная установка флажков ......Page 301
24.3. Использование флажков, принимающих три состояния ......Page 302
25.1. Создание и использование выпадающих списков ......Page 306
25.2. Список: добавление и удаление элементов ......Page 308
Комментарии ......Page 311
25.3. Дополнительные операции над списком ......Page 312
25.4. Выполнение операций над списком с помощью мыши ......Page 315
Комментарии ......Page 317
26.1. Списки с множественным выделением ......Page 319
Комментарии ......Page 322
26.2. Обработка выделенных элементов ......Page 323
Комментарии ......Page 326
26.3. Графические списки ......Page 327
Комментарии ......Page 329
27.1. Открытие и закрытие дочерних форм в MDI-приложении ......Page 331
Комментарии ......Page 335
27.2. Стандартные действия над дочерними формами ......Page 336
Комментарии ......Page 338
27.3. Добавление в меню списка открытых дочерних форм ......Page 339
27.4. Одновременное закрытие всех дочерних форм ......Page 340
Комментарий ......Page 341
27.5. Масштабирование изображения ......Page 342
27.6. Автоматическая корректировка размера дочерних форм ......Page 343
27.7. Дополнительные средства управления дочерними формами ......Page 345
27.8. Прокрутка изображения с помощью клавиатуры ......Page 349
Комментарий ......Page 351
28.1. Получение списка доступных шрифтов ......Page 352
Комментарии ......Page 353
28.2. Отображение символов шрифта в таблице ......Page 354
Комментарии ......Page 357
28.3. Настройка стиля для выбранного шрифта ......Page 358
Комментарии ......Page 360
28.4. Просмотр текущего символа в увеличенном виде ......Page 361
Комментарии ......Page 363
29.1. Извлечение значков из файлов ......Page 365
Комментарии ......Page 368
29.2. Загрузка значков и их отображение в таблице ......Page 369
Комментарии ......Page 371
29.3. Очистка таблицы ......Page 373
29.4. Отображение дополнительной информации о выбранном значке ......Page 374
29.5. Переключение между увеличенным и обычным изображением иконки ......Page 377
29.6. Сохранение значка в виде ico- или png-файла ......Page 378
30.1. Формирование таблицы значений тригонометрических функций ......Page 381
Комментарии ......Page 384
30.2. Отображение окна-заставки при загрузке программы ......Page 386
Комментарии ......Page 388
30.3. Использование окна-заставки в качестве информационного окна ......Page 389
30.4. Вывод в окне-заставке информации о ходе загрузки программы ......Page 390
Комментарии ......Page 392
Комментарии ......Page 393
30.6. Возможность перемещения окна-заставки ......Page 394
31.1. Определение класса с описанием структуры данных и связывание этой структуры с таблицей в режиме дизайна ......Page 396
Комментарий ......Page 402
31.2. Проверка правильности данных на уровне ячейки таблицы ......Page 403
Комментарии ......Page 405
31.3. Проверка правильности данных на уровне строки таблицы ......Page 406
Комментарий ......Page 407
31.4. Дополнительная настройка столбцов таблицы, использование выпадающих списков для текстовых полей ......Page 408
Комментарии ......Page 409
31.5. Использование XML-сериализации для сохранения и загрузки наборов данных ......Page 410
Комментарии ......Page 417
31.6. Дополнительные средства навигации и редактирования для таблицы с набором данных ......Page 418
31.7. Автоматизация действий при добавлении нового элемента в набор данных ......Page 420
Комментарии ......Page 422
32.1. Использование набора вкладок и добавление таблицы с подчиненными данными ......Page 423
Комментарии ......Page 430
32.2. Связывание с данными компонентов,не являющихся таблицами ......Page 431
Комментарии ......Page 432
32.3. Выпадающие списки, связанные с числовыми полями ......Page 434
Комментарии ......Page 436
32.4. Вычисляемые столбцы ......Page 437
32.5. Сортировка данных ......Page 439
32.6. Поиск по шаблону ......Page 442
Комментарии ......Page 445
33.1. Создание начальной позиции ......Page 447
33.2. Перерисовка башни при изменении количества блоков ......Page 449
Комментарии ......Page 450
33.3. Перетаскивание блоков на новое место ......Page 451
33.4. Восстановление начальной позициии подсчет числа перемещений блоков ......Page 454
33.5. Проверка решения задачи ......Page 456
33.6. Выполнение задачи в демо-режиме ......Page 457
Комментарий ......Page 459
33.7. Настройка идентификационных данных приложения ......Page 460
Комментарии ......Page 461
ПРИЛОЖЕНИЯ ......Page 463
Приложение 1. Краткий словарь используемых терминов ......Page 465
Приложение 2. Описание компакт-диска ......Page 473
Литература ......Page 476
Предметный указатель ......Page 477
Оглавление ......Page 483