Visual Basic .NET: разработка приложений

Купить бумажную книгу и читать

Купить бумажную книгу

По кнопке выше можно купить бумажные варианты этой книги и похожих книг на сайте интернет-магазина "Лабиринт".

Using the button above you can buy paper versions of this book and similar books on the website of the "Labyrinth" online store.

Реклама. ООО "ЛАБИРИНТ.РУ", ИНН: 7728644571, erid: LatgCADz8.

Название: Visual Basic .NET: разработка приложений

Автор:

Издательство: БХВ-Петербург

Год: 2002

Страниц: 624

ISBN: 5-94157-031-7

Формат: PDF

Размер: 72 Mб

Язык: русский

Серия: Мастер

Книга посвящена принципиально новой, революционной технологии программирования — Visual Basic .NET. Приводятся подробные сведения обо всех конструкциях языка: классах, объектах, свойствах, методах и полях, о наследовании и интерфейсах, делегировании и событиях. Последовательно рассматриваются операторы языка, типы данных, форматы и преобразования.

Отдельные главы книги содержат описание основных элементов интегрированной среды разработки Visual Studio .NET и сведения о применении современных графических средств GDI+, конструировании собственных пользовательских компонентов и работе с базами данных в ADO.NET. Книга насыщена большим количеством (около 400) разработанных автором конкретных примеров действующих программ.

Содержание

 

Предисловие 17

Структура книги 17

Кому адресована эта книга 18

Об авторе 19

Глава 1. Первый проект в Visual Basic .NET 21

.NET Framework 21

Модуль и класс 22

Процедура Sub 23

Процедура Main 23

Метод WriteLine класса Console 23

Пространство имен и директива Imports 23

Зачем столько языков 25

Ваше первое приложение 25

Глава 2. Объектно-ориентированное программирование 29

Классы и объекты 29

Поля, свойства, методы и события 29

Инкапсуляция, наследование и полиморфизм 30

Объявление класса 30

Создание экземпляра класса 32

Перенос процедуры Main внутрь класса 33

Пространство имен 34

Конструкторы 36

Ключевые слова MyCIass и Me. 37

Вызов конструктора класса из другого конструктора того же класса 38

Методы 39

Вызов метода из конструктора 41

Свойства как средство ограничения доступа к полям класса 41

Свойства только для чтения и только для записи 43

Зависящие от индекса свойства 44

Статические свойства, поля и методы 45

Наследование 47

Объявление расширенного класса 47

Ключевое слово MyBase 48

Порядок вызова конструкторов 49

Запрещение наследования 50

Перегрузка методов 50

Переопределение методов 54

Абстрактные классы 54

Интерфейсы 57

Несколько интерфейсов 60

Расширение интерфейсов 60

Использование интерфейса в качестве типа данных 61

События 63

Делегаты 66

Использование делегатов в качестве типа данных 68

Класс Object 69

Глава 3. Базовые сведения о Visual Basic .NET 71

Типы данных 71

Деление на ноль у чисел с плавающей десятичной точкой

не генерирует ошибку 72

Ключевые слова 73

Идентификатор 74

Escape-идентификатор 75

Объявление переменных 75

Директива Option Explicit 78

Время жизни переменной 78

Область видимости переменной 78

Префикс в имени переменной 79

Комментарии 79

Соглашения по форматированию кода 80

Как перенести строку кода 80

Расположение нескольких операторов в одной строке 81

Массивы 81

Инициализация одномерного массива 81

Инициализация многомерного массива 82

Разнотипные элементы, хранящиеся в массиве 82

Определение верхней границы индекса 82

Удаление массива из памяти 83

Массив как объект 83

Динамические массивы 85

Создание последовательности случайных чисел 87

Получение очередного случайного числа 87

Привязка генерации последовательности псевдослучайных чисел

к моменту времени 88

Получение случайного числа из указанного целочисленного диапазона 88

Вывод информации в окно Debug 88

Константы 89

Встроенные константы 89

Использование обрамляющих и дополнительных символов

для спецификации типа констант 89

Применение перечисления для работы с множеством констант 90

Тип данных, определенный пользователем 91

Структура с конструктором и методом 92

Структура со свойствами 93

Явное и неявное преобразование типов 94

Класс Convert 96

Перехват ошибки при преобразовании типов 96

Директива Option Strict 96

Операции 97

Математические операции 97

Побитовые операции 98

Операции отношения 98

Инструкция Option Compare 99

Логические операции 101

Приоритеты операций 101

Операторы присваивания 102

Класс Math 103

Функция форматирования данных 105

Пользовательские форматы 109

Класс MessageBox 112

Операторы управления 116

Оператор условного перехода 116

Оператор выбора 118

Оператор Try — Catch — Finally 119

Простейший звуковой сигнал 121

Оператор For — Next 121

Оператор For Each 122

Оператор While 123

Оператор Do — Loop 123

Почему вместо операции возведения в степень часто используют

операцию умножения 125

Оператор безусловного перехода GoTo 126

Процедура 126

Вызов процедуры 129

Перегрузка процедуры 130

Функция 130

Вызов API-функции 132

Процедура с необязательными параметрами 133

Перегрузка процедур с необязательными параметрами 134

Использование неопределенного количества параметров 135

Передача параметров по ссылке и значению 136

Использование массива в качестве параметра процедуры 137

Рекурсивные процедуры 137

Таймер 138

Поток 140

Приостановка и прекращение выполнения потока 141

Приоритет выполнения потоков 141

Глава 4. Некоторые полезные классы 143

Строка 143

Конкатенация строк 144

Строка с кавычками 144

Строка как объект 145

Свойства и методы класса String 146

Возврат из строки указанного символа 146

Определение длины строки 146

Преобразование строки в массив символов 147

Получение подстроки данной строки 147

Возвращение индекса указанного элемента строки 147

Вставка в строку подстроки 148

Замена в строке указанного элемента 149

Удаление из строки указанного элемента 149

Возврат подстроки из данной строки 149

Идентификация начальных и конечных символов строки 150

Смена регистров написания букв 150

Усечение строки 151

Добавление пробелов или символов в начало или конец строки 151

Сравнение строк 152

Разбиение строки на подстроки 152

Копия строки 153

Объединение строк 153

Класс StringBuilder. 155

Возвращение специфицированного символа 155

Преобразование экземпляра класса StringBuilder в String 156

Присоединение строки в конец экземпляра класса StringBuilder 156

Вставка строки в экземпляр класса StringBuilder 157

Удаление символов из экземпляра класса StringBuilder 158

Замена подстроки в экземпляре класса StringBuilder. 158

Регулярные выражения 158

Поиск по шаблону 161

Возвращение нескольких значений в процессе поиска 161

Замена 162

Работа со временем и датами 162

Структура TimeSpan 163

Структура DateTime 167

Глава 5. Классы коллекции 173

Интерфейс /Enumerator 173

Интерфейс /Comparer 174

Интерфейс [Dictionary 174

Интерфейс /List 175

Класс ArmyList 176

Заполнение списка пользовательскими объектами 179

Класс BitArray ; 180

Класс Hashtable 182

Класс Stack 183

Класс Queue 185

Класс SorSedList 187

Глава 6. Исключения 189

Перехват исключений 189

Множественный оператор Catch 190

Порядок расположения блоков Catch 190

Блок Finally 191

Выход из оператора Try — Catch 192

Встроенные исключения 193

Конструкторы класса Exception 193

Оператор Throw 194

Создание пользовательского класса исключения 195

Глава 7. Работа с каталогами и файлами 197

Класс FileSystemlnfo 198

Класс Directory 199

Возвращение текущего каталога 201

Удаление каталога с подкаталогами 201

Создание каталога 202

Получение информации о каталоге 202

Корневой каталог текущего каталога 203

Подкаталоги каталога 203

Файлы каталога 203

Класс Directorylnfo 204

Создание и удаление каталога 205

Класс File 206

Перечисление FileAttributes 209

Перечисление FileMode 210

Перечисление FileAccess 211

Перечисление FileShare 211

Класс Filelnfo 211

Проверка существования файла 213

Имя родительского каталога 213

Получение информации обо всех файлах и подкаталогах данного каталога 214

Получение информации обо всех заданных по шаблону файлах

и подкаталогах из данного каталога 214

Создание файла 215

Уд&чение файла 215

Перемещение файла 216

Копирование без перезаписи 216

Класс Path 217

Корневой каталог рабочего каталога 219

Имя файла и его расширения 219

Создание временного файла на диске 219

Класс FileStream и его конструкторы 220

Класс TextWriter 221

Класс TextReader 222

Классы StreamReaderи StreamWriter 222

Считывание данных из текстового файла за одну операцию 222

Еще раз о считывании данных из текстового файла 223

Построчное считывание данных из текстового файла 223

Определение числа строк в файле 224

Поблочное считывание данных из текстового файла

и перемещение указателя 225

Запись данных в файл 226

Последовательное считывание данных из одного файла и их добавление

в другой 226

Ввод данных из текстового файла в поле ввода 227

Запись данных в HTML-файл 228

Побайтовые операции с файлами 229

Класс Environment 231

Получение имени текущего каталога 232

Мониторинг файлов средствами класса FileSysiemWatcher 232

Запуск из программы другого приложения 235

Глава 8. Форма 236

Ваша первое Windows-приложение 236

Разбор кода первого Windows-приложения 239

Создание формы в коде 240

Установка цвета формы 241

Установка цвета шрифта 241

Установка и удаление фонового рисунка 242

Прозрачная форма 242

Прозрачность указанного цвета формы 243

Первый подход к обработке событий 244

Создание обработчика события с помощью редактора кода 245

Активизация и деактивизация формы 245

Основные события, связанные с мышью и клавиатурой 246

Определение нажатой кнопки мыши 246

Использование одного обработчика событий для различных событий 247

Второй подход к обработке событий 248

Создание обработчика события с помощью редактора кода 248

Идентификация точки двойного щелчка 249

Закрытие окна 249

Генерация запроса на подтверждение команды закрытия формы 250

Как отменить действие кнопки Close 251

Рисование и вывод текста в форме 251

Перерисовка изображения при изменении размеров формы 251

Обнаружение нажатой символьной клавиши или клавиши управления 252

Местоположение формы 253

Размеры формы 254

Размещение формы в центре рабочего стола 254

Стандартные размещения формы при ее инициализации 254

Кнопки минимизации и максимизации формы 255

Нормальный и максимальный размер формы 255

Задание внешнего вида границы формы 256

Запрет изменения размеров формы 256

Создание формы без границы и заголовка 256

Создание заставки 256

Создание бегущего заголовка 258

Отображение значка на форме 259

Изменение значка формы 259

Задание фонового рисунка при обработке события Point. 260

Динамическое создание формы 261

Создание модальной формы 262

Как спрятать форму 262

Окно формы текста 262

Окно произвольной формы 264

Глава 9. Интегрированная среда разработки Visual Studio .NET 265

Строка меню 266

Окно Solution Explorer 266

Окно редактирования кода 267

Управление структурой редактора кода 267

Раскрывающиеся списки редактора кода 268

Интеллектуальные возможности редактора кода 269

Управление интеллектуальными возможностями редактора кода 272

Окно Toolbox 272

Окно конструирования формы 272

Сетка на форме 273

Форматирование группы элементов управления 274

Окно Properties 276

Окно Object Browser 277

Окно Class View 278

Окно Output 278

Глава 10. Базовые элементы управления 280

Окно Toolbox 280

Окно Properties 283

Общие свойства элементов управления 283

Общие методы элементов управления 285

Общие события элементов управления 287

Окно конструирования формы 289

Размещение элементов управления на фиксированном расстоянии

от границы 290

Размещение элемента управления вдоль границы 291

Надпись (Label) 291

Надпись с гиперссылкой (Link-Label) 293

Кнопка (Button) 295

Задание курсора 297

Отображение и скрытие курсора 298

Использование одной процедуры для обработки событий,

генерируемых различными элементами управления 299

Использование одной процедуры для обработки событий,

генерируемых разнотипными элементами управления 300

Массив элементов управления: игра "Закрась все красным" 300

Загрузка изображения на поверхность элемента управления 303

Живая кнопка 304

Добавление в форму нового элемента управления во время выполнения

программы 305

Подключение и отключение от элементов управления обработчиков событий 306

Придание элементам управления интерактивности 307

Уклоняющаяся кнопка 308

Создание элемента управления произвольной формы 310

Поле ввода (Textbox) 310

Как сделать так, чтобы поле ввода было блокировано для пользователя 313

Как сделать так, чтобы поле ввода было бы блокировано для пользователя,

но он мог бы скопировать из него данные 314

Как предупредить генерацию ошибки в случае, если пользователь

в поле ввода забудет ввести число 314

Выделение содержимого поля ввода 315

Как сделать так, чтобы при нажатии клавиши фокус перемещался

на следующее поле ввода 316

Как сделать так, чтобы при получении фокуса поле ввода изменяло

свой цвет 318

Как кнопке назначить быструю клавишу 318

Для чего элементам управления нужно свойство Tag 319

Как создать у элемента управления всплывающую подсказку

и класс ToolTip 320

Поле ввода пароля 322

Многострочное поле ввода 323

Операции редактирования содержания поля ввода 325

Операции Drag-and-Drop для полей ввода 327

Фильтрация ввода с клавиатуры 330

Фильтрация ввода с клавиатуры данных по шаблону 330

Ускорение последовательного ввода данных в поле ввода 331

Создание диалогового окна без использования Visual Studio .NET 331

Переключатель (RadioButton) 333

Рамка (GroupBox) 334

Пример использования переключателей и рамки 335

Флажок (CheckBox) 336

Управление достижимостью элемента управления 338

Управление видимостью элемента управления 338

Таймер (Timer) 339

Электронные часы 339

Графическое поле (PictureBox) 340

Полосы прокрутки {HScrollBar и VScrollBar) 341

Изменение размеров элемента управления с помощью полос прокрутки 342

Согласованная работа полосы прокрутки и поля ввода 344

Список (ListBox) 345

Заполнение списка и выбор элемента 345

Предотвращение мигания при обновлении содержания списка 346

Простейшие операции работы со списком 347

Ввод массива значений в список 349

Заполнение списка без права его редактирования 349

Сортировка элементов списка 350

Как узнать, принадлежит ли элемент списку 350

Поиск элемента в списке 351

Считывание нескольких выбранных значений из списка 353

Нахождение среднего из выбранных значений 355

Назначение элементов одного списка другому 356

Операция Drag-and-Drop между двумя списками 357

Многостолбцовый список 358

Скрытие данных, связанных с элементами списка 359

Поле со списком (ComboBox) 362

Работа с полем со списком 362

Добавление в список неповторяющихся данных 364

Список с флажками (CheckedListBox) 365

Глава 11. Меню и элементы управления 367

Список рисунков (ImageList) 367

Заполнение списка рисунков 368

Список рисунков и мультипликация 369

Меню 370

Создание меню 370

Добавление в меню разделителей 372

Назначение команд меню 373

Создание "горячих" клавиш 374

Создание отмечаемых пунктов меню 376

Точка вместо флажка у отмеченного пункта меню 378

Блокировка пункта меню 379

Управление видимостью элемента меню 381

Контекстное меню 382

Создание пользовательских пунктов меню 384

Конструирование меню при помощи мастера меню 387

Панель инструментов (ToolBar) 391

Панель инструментов с кнопками, разделителем и рисунками 392

Панель инструментов с раскрывающимся списком и выключателем 394

Календарь (MonthCalendar) 397

Выделение диапазона дат 399

Ограничение на число выбранных дат 399

Ограничение на диапазон отображаемых дат 400

Установка текущей даты 400

Отображение в календаре более чем одного месяца 400

Отображение указанных дат полужирным шрифтом 400

Указатель времени и даты (DateTimeP'tcker) 402

Отображения указателя времени и даты в виде счетчика 403

Панель (Panel) 403

Вкладки (TabControl) 405

Конструирование вкладки на этапе создания формы 405

Конструирование вкладок в коде 408

Изменение внешнего вида вкладок 409

Добавление значков в ярлычки вкладок 409

Счетчик с числовым полем ввода (Numeric Up Down) 410

Конвертация валюты 411

Управление прозрачностью текста 412

Изменение внешнего вида числового счетчика 413

Счетчик с текстовым полем ввода (Domain Up Down) 413

Фильтрация цвета 414

Ползунок (TrackBar) 416

Управление скоростью вращения 417

Индикатор процесса (ProgressBar) 419

Индикация заполнения круга 419

Элемент управления ColorDialog 421

Изменение цвета элемента управления 421

Элемент управления FontDialog 423

Изменение шрифта и его цвета у отображаемого текста 423

Элемент управления Open File Dialog 425

Заполнение списка Files of type 426

Просмотр графических файлов 427

Выбор нескольких файлов 428

Элемент управления Save File Dialog 429

Запись данных из поля ввода в текстовый файл 430

Элемент управления DataGrid 431

Дерево (TreeView) 433

Заполнение дерева в коде 433

Заполнение дерева на этапе конструирования 435

Редактирование дерева 436

Элемент управления ListView 438

Заполнение и редактирование списка 441

Заполнение списка из рабочего листа MS Excel 445

Строка состояния (StatusBar) 447

Конструирование строки состояния в коде 448

Конструирование строки состояния на этапе создания формы 450

Разделитель (Splitter) , 451

Разделитель и рисунок 452

Информационный значок (Notifylcon) 454

Изменение информационного значка 454

Решение проблемы удаления информационного значка 456

MDI-форма 456

Расширенное поле ввода (RichTextBox) 461

Простейший редактор текста 464

Элемент управления PrintDialog 467

Элемент управления Print Preview Dialog 467

Элемент управления PageSetupDialog 467

Элемент управления PrintDocument 467

Предварительный просмотр и печать текстового файла 469

Элемент управления ErrorProvider 472

Проверка корректности данных, вводимых в поле ввода 473

Элемент управления HelpProvider 475

Всплывающая по элементу управления справка 475

Справка по элементу управления 475

Глава 12. Графические возможности GDI+ 476

Класс Graphics 476

Рисование изображений без обработки события Paint или переопределения

метода OnPaint 479

Метод OnPaintBackground работает быстрее метода OnPaint... 480

Базовые объекты класса Graphics 480

Класс Реп 481

Класс Color 483

Класс Font 485

Класс Brush 488

Класс SolidBrush 489

Класс TextureBrush 491

Класс HatchBrush 493

Класс LinearGradientBrush 495

Очистка графического устройства и окраска его фоновым цветом 497

Геометрические структуры 497

Структура Size 497

Структура Point 498

Сравнение и перемещение точек 498

Структура Rectangle 498

Сравнение и перемещение прямоугольников 499

Пересечение прямоугольников 500

Объединение прямоугольников 500

Принадлежность точки или другого прямоугольника

данному прямоугольнику 501

Линия 502

Простейший графический редактор 503

Ломаная линия 504

Прямоугольник 505

Последовательность прямоугольников 506

Эллипс 507

Дуга и сектор 508

Многоугольники 510

Кривые Беэье 511

Сплайны 512

Замкнутые и заполненные сплайны 514

Путь 515

Создание пути на основе линий, кривых и фигур 517

Заполненный путь 518

Толщина пути 519

Построение градиентной заливки 520

Настройка градиентной заливки 522

Интерполяция цветов 524

Отображение текста 525

Список всех шрифтов 526

Определение размеров шрифта 527

Определение размеров и позиционирование строки 528

Построение текста с градиентной заливкой 529

Метод Invalidate 530

Метод Refresh 531

Управление качеством построения линий 531

Управление качеством вывода текста 531

Ограничение области вывода графики 532

Растровое изображение 533

Построение изображения в памяти 536

Еще раз о построении изображения в памяти 536

Поддерживаемые растровые форматы 538

Сохранение изображения в файле 538

Преобразование растровых форматов 539

Вывод растрового изображения с полосой прокрутки 539

Создание контекста графического устройства на основе изображения 540

Рисование значка 541

Класс Matrix 541

Методы класса Matrix 542

Методы преобразования координат класса GraphicsPath 542

Методы и свойства класса Graphics, управляющие

аффинными преобразованиями 543

Вращающаяся линия 544

Двойная буферизация 545

Вращающаяся и перемещающаяся фигура 545

Управление цветовой моделью 547

Не забудьте высвободить ненужные ресурсы 550

Класс Region 551

Определение принадлежности точки области 553

Глава 13. Интеграция с офисными приложениями 555

Технология СОМ 555

Программные идентификаторы приложений-серверов СОМ 556

Позднее и раннее связывание 557

Интеграция с MS Excel 558

Открытие и создание рабочей книги 559

Нахождение значений арифметических выражений 560

Проверка орфографии 561

Решение уравнения 563

Построение графика 567

Создание отчета на рабочем листе 571

Интеграция с MS Word 573

Определение статистических данных о тексте 574

Создание отчета в MS Word 575

Функции доступа к объектам СОМ 578

Интеграция с MS Access 579

Глава 14. Построение пользовательских компонентов 581

Расширение существующего элемента управления 581

Создание у элемента управления новых свойств 581

Создание DLL-файла 583

Добавление значка элемента на панель инструментов 583

Тестирование созданного элемента 584

Переопределение событий 585

Создание пользовательских событий 586

Атрибуты 587

Создание пользовательского элемента управления 587

Примеры пользовательских элементов управления 590

Красивая кнопка 590

Кнопка переменной формы 593

Список со значками 596

Глава 15. ADO.NET — работа с базами данных 600

Соединение с источником данных 600

Чтение данных с помощью класса DataSet. 601

Таблица 602

Связанные элементы управления 602

Связывание данных с элементом управления DataGrid 602

Установка соединения с базой данных на этапе конструирования 603

Создание адаптера на этапе конструирования 604

Создание объекта DataSet на. этапе конструирования 607

Заполнение элемента управления DataGrid на этапе конструирования 609

Заполнение элемента управления DataGrid в коде 609

Внесение изменений в базу данных 610

Связывание данных со списком 610

Простое связывание 611

Телефонная книга 612

Предметный указатель 617

Дата создания страницы: