Книги в продаже (аннотация + содержание + отрывок)

Д. Зак
САМОУЧИТЕЛЬ VISUAL BASIC .NET.
Цена: 203 р.

Источник: Издательский дом 'ПИТЕР'
Разделы: Разное (общие вопросы использования ПК, компьютерная архитектура, пользовательский интерфейс, компьютерные системы и информационные ситемы)
Подробнее: Информация от издателя (открывается в новом окне)
Заказ: Оформление покупки (открывается в новом окне)
      В книге описаны приемы работы в среде .NET, а также программирование на языке Visual Basic .NET. Обучение строится на практической основе, с первого занятия читатель создает готовые приложения. Конструкции языка Visual Basic, а также переменные, циклы, управляющие структуры, массивы и другие элементы языка рассматриваются последовательно, по мере усложнения примеров. Вниманию читателя предлагается также материал, посвященный объектно-ориентированному программированию, проектированию приложений и методам обработки ошибок. Книга будет полезна начинающим программис
      там и студентам.
     
     
     
      Содержание
      Предисловие           
      Введение
      Тема 1. Знакомство с Visual Basic .NET  
      Создание заставки Copyright               
      Занятие 1. Создание Windows-приложений               
      Запуск и настройка Visual Studio .NET               
      Создание решения для заставки Copyright               
      Окна Windows Form Designer и Solution Explorer               
      Окно Properties               
      Свойства объекта Windows Form               
      Сохранение решения и выход из Visual Studio .NET      
      Занятие 2. Работа с элементами управления               
      Окно Toolbox               
      Использование инструмента Label               
      Одновременное изменение свойства нескольких элементов управления               
      Использование меню Format               
      Применение инструмента PictureBox               
      Использование инструмента Button    
      Запуск и завершение работы приложения               
      Создание программы на Visual Basic .NET               
      Занятие 3. Завершение работы над заставкой Copyright               
      Применение инструмента Timer               
      Настройка свойства FormBorderStyle               
      Свойства MinimizeBox, MaximizeBox и ControlBox               
      Тема 2. Этапы разработки приложений               
      Создание приложения для приема заказов               
      Занятие 1. Проектирование объектно-ориентированного приложения               
      Порядок создания объектно-ориентированного управляемого событиями
      приложения                
      Описание объектов приложения и выполняемых ими задач      
      Разработка эскиза интерфейса пользователя               
      Занятие 2. Создание интерфейса пользователя               
      Размещение элементов интерфейса               
      Применение графики, шрифтов и цвета   
      Выбор стиля рамки элемента управления               
      Создание надписи на элементе управления               
      Назначение клавиш быстрого доступа  
      Настройка свойства TabIndex               
      Занятие 3. Программирование, тестирование и отладка приложения               
      Программирование приложения               
      Создание программы для кнопки Clear Screen     
      Арифметические выражения               
      Создание программы для кнопки CalcButton               
      Функция Val               
      Функция Format               
      Тестирование и отладка приложения               
      Создание документации               
      Тема 3. Переменные и константы           
      Внесение изменений в приложение Skate-Away Sales               
      Занятие 1. Создание переменных и именованных констант
      Использование переменных для хранения информации               
      Объявление переменной               
      Присваивание значений переменной               
      Область видимости переменной               
      Именованные константы               
      Занятие 2. Изменение приложения Skate-Away Sales               
      Хранение информации в переменных               
      Изменение программы кнопки Calculate Order      
      Конкатенация строк     
      Функция InputBox               
      Символ новой строки   
      Назначение кнопки по умолчанию               
      Занятие 3. Дополнения к приложению Skate-Away Sales               
      Изменение процедур обработки событий Load и Click       
      Статические переменные               
      Создание обработчика события TextChanged               
      Связывание процедуры с различными объектами или событиями               
      Тема 4. Условные операторы           
      Создание приложения, вычисляющего ежемесячные платежи 
      Занятие 1. Оператор If…Then…Else               
      Ветвящиеся процессы               
      Создание псевдокода для условных операторов If и If…Else               
      Представление операторов If и If…Else в структурной схеме алгоритма               
      Использование операторов If и If…Else  
      Операторы сравнения               
      Логические операторы               
      Функции UCase и LCase     
      Занятие 2. Приложение, вычисляющее сумму ежемесячных платежей
      Разработка интерфейса пользователя               
      Создание процедуры CalcPayButton_Click           
      Метод MessageBox.Show               
      Программирование события TextChanged               
      Занятие 3. Завершение приложения Monthly Payment Calculator               
      Событие KeyPress               
      Выравнивание текста в элементе управления Label               
      Тема 5. Еще раз об условных операторах           
      Разработка приложения для математического практикума               
      Занятие 1. Вложенные условные операторы, операторы If...ElseIf...Else и Case       
      Вложенные условные операторы               
      Логические ошибки в условных операторах               
      Оператор If...ElseIf...Else               
      Оператор Case               
      Операторы Is, TypeOf…Is и Like               
      Занятие 2. Разработка приложения Math Practice               
      Завершение интерфейса пользователя               < /p>
      Программирование приложения Math Practice               
      Создание пользовательской процедуры               
      Создание процедур обработки события Click переключателей Grade 1
      и Grade 2               
      Создание процедур обработки события Click переключателей Addition
      и Subtraction               
      Создание процедуры обработки события Load формы   
      Занятие 3. Завершение разработки приложения Math Practice.
      Создание процедуры CheckAnswerButton_Click   
      Создание процедуры SummaryCheckBox_Click     
      Тема 6. Циклы           
      Проектирование приложения, определяющего семестровую оценку
      по программированию            
      Занятие 1. Циклические конструкции               
      Циклические конструкции               
      Оператор For…Next               
      Оператор Do…Loop               
      Применение счетчиков и суммирующих переменных               
      Занятие 2. Работа с семейством Controls 
      Семейство элементов управления Controls 
      Объектные переменные               
      Оператор For Each…Next               
      Создание пользовательских семейств
      Приложение, вычисляющее семестровую оценку по программированию        
      Разработка процедуры GradeForm_Load               
      Разработка обработчика события Click расположенных в форме флажков               
      Занятие 3. Завершение приложения для определения оценки
                       по программированию        
      Разработка процедуры DisplayButton_Click           
      Создание процедуры обработки события Enter полей формы               
      Создание процедуры обработки события Closing объекта GradeForm            
      Тема 7. Процедуры и функции           
      Проектирование бухгалтерского приложения               
      Занятие 1. Проектирование подпрограмм и функций               
      Процедуры и подпрограммы               
      Передача аргументов в пользовательские подпрограммы               
      Функции 324
      Занятие 2. Использование элемента управления ListBox  
      Проектирование интерфейса бухгалтерского приложения               
      Добавление в форму элемента управления ListBox  
      Создание обработчика события CalculateButton_Click          
      Создание функции GetFwtTax               
      Завершение обработчика события CalculateButton_Click          
      Очистка содержимого элементов управления Label               
      Занятие 3. Завершение проектирования бухгалтерского приложения..
      Добавление существующей формы в решение               
      Процедура Sub Main               
      Создание экземпляра формы   
      Тема 8. Работа со строками           
      Создание игры “Виселица”               
      Занятие 1. Работа со строками               
      Определение количества символов в строке               
      Удаление символов из строки   
      Поиск подстроки в начале или конце строки   
      Извлечение символов из строки   
      Замена символов в строке    
      Добавление символов в строку               
      Поиск заданной последовательности символов в строке    
      Занятие 2. Использование элемента управления MainMenu               
      Завершение интерфейса игры “Виселица”               
      Создание меню               
      Создание обработчика события FileExitMenuItem_Click       
      Занятие 3. Завершение игры “Виселица”               
      Приложение для игры “Виселица”               
      Создание обработчика события FileNewMenuItem_Click     
      Создание обработчика события Click для надписей, содержащих буквы    
      Тема 9. Файлы последовательного доступа и печать           
      Создание приложения для учета различных мероприятий               
      Занятие 1. Файлы последовательного доступа  
      Типы файлов               
      Файлы последовательного доступа  
      Использование объектов StreamWriter и StreamReader               
      Открытие файла последовательного доступа  
      Запись в файл последовательного доступа  
      Чтение из файла последовательного доступа  
      Закрытие файла последовательного доступа  
      Демонстрация работы с файлами последовательного доступа  
      Занятие 2. Использование элемента управления DateTimePicker               
      Завершение интерфейса приложения Carriage House               
      Добавление элемента управления DateTimePicker               
      Свойство ShowUpDown               
      Свойство Format               
      Свойство Value               
      Свойство Text               
      Как получить системное время               
      Создание обработчика события CarriageForm_Load               
      Создание обработчика события AddButton_Click               
      Занятие 3. Завершение разработки приложения Carriage House               
      Приложение для Carriage House               
      Добавление элемента управления PrintDocument               
      Создание обработчика события PrintButton_Click               
      Создание обработчика события PrintDocument_PrintPage    
      Метод e.Graphics.DrawString          
      Тема 10. Файлы произвольного доступа           
      Создание приложения для семинара
      Занятие 1. Работа с файлами произвольного доступа  
      Сравнение файлов произвольного и последовательного доступа  
      Создание структуры записи               
      Объявление переменной записи               
      Открытие файла произвольного доступа  
      Сохранение записи в файле произвольного доступа  
      Чтение записей из файла произвольного доступа  
      Закрытие файла произвольного доступа  
      Занятие 2. Использование файла произвольного доступа  
      Приложение для семинара
      Создание обработчика события InitializeButton_ Click       
      Создание обработчика события AddButton_Click               
      Создание обработчика события DisplayButton_Click           
      Занятие 3. Завершение приложения для семинара               
      Создание процедур для приложения Seminar  
      Создание обработчика события RemoteButton_Click             
      Создание обработчика события PrintButton_Click               
      Создание обработчика события SeminarPrintDocument_PrintPage               
      Тема 11. Массивы           
      Создание приложения для расчета суммы налога    
      Занятие 1. Использование одномерного массива  
      Массивы               
      Одномерные массивы
      Запись данных в одномерный массив    
      Использование одномерных массивов
      Отображение содержимого одномерного массива  
      Использование индекса для доступа к элементу одномерного массива  
      Поиск в одномерном массиве  
      Вычисление среднего арифметического элементов числового массива               
      Поиск элемента с максимальным значением               
      Изменение элементов одномерного массива  
      Сортировка элементов одномерного массива  
      Занятие 2. Массивы и неоднородные данные   
      Параллельные одномерные массивы 
      Хранение записей в одномерном массиве  
      Занятие 3. Использование двухмерных массивов
      Двухмерные массивы 
      Хранение данных в двухмерном массиве  
      Вычисление суммы значений, хранящихся в двухмерном массиве  
      Приложение для расчета подоходного налога    
      Создание обработчика события CalculateButton_Click          
      Тема 12. Работа с базами данных           
      Создание приложения для просмотра информации о сотрудниках               
      Занятие 1. Доступ к базе данных с использованием Windows-формы               
      Реляционные базы данных   
      Добавление объекта OleDbDataAdapter в Windows-форму               
      SQL        
      Создание набора данных   
      Добавление в форму элемента управления DataGrid
      Настройка внешнего вида элемента управления EmployDataGrid               
      Занятие 2. Доступ к базе данных с использованием web-формы               
      Создание web-приложения               
      Добавление объекта OleDbDataAdapter в web-форму               
      Создание набора данных   
      Добавление в форму элемента управления DataGrid
      Настройка внешнего вида элемента управления EmployDataGrid               
      Приложение  А. Обработка ошибок и отладка           
      Типы ошибок               
      Исключения и обработка исключений               
      Создание собственных исключений               
      Отладка 
      Приложение  Б. Панель инструментов конструктора
                                   Windows-форм  
      Алфавитный указатель           
     
     
     
     
      ОТРЫВОК
     
     
      Тема  2
      Этапы разработки приложений
      Создание приложения для приема заказов
      После успешной реализации первой задачи — создания заставки Copyright — вы продолжаете работать в компании Interlocking Software. Старший программист поручает вам провести переговоры с потенциальным заказчиком. При встрече с менеджером по продажам торговой фирмы Skate-Away Sales вы выяснили следующее. Фирма специализируется на продаже скейтбордов, выполняя заказы, принятые по телефону. Ассортимент товаров невелик — это скейтборды двух цветов, синего либо желтого, стоимостью 100 долларов каждый. Кроме того, менеджер сообщил, что они наняли на работу 20 продавцов, которые при
      поступлении заказа по телефону должны заполнить специальный бланк, содержащий имя покупателя, адрес, количество и цвет заказанных скейтбордов. Первоначально планировалось, что в обязанности этих сотрудников будет входить также расчет суммарного количества заказанного товара и общей цены с учетом ставки налога, равной 5 %. Но руководство фирмы пришло к выводу, что эту задачу следует автоматизировать, поскольку вычисления вручную занимают слишком много времени и часто производятся с ошибками. Компания Interlocking Software решила поручить вам разработку програ
      ммы, использование которой решит все проблемы, связанные с приемом заказов.
      Занятие 1
      Проектирование объектно-
      ориентированного приложения
      На этом занятии рассмотрены следующие вопросы:
      проектирование объектно-ориентированного управляемого событиями приложения, создаваемого с помощью Visual Basic .NET;
      применение TOE-таблицы;
      Windows-стандарты, касающиеся компоновки и обозначения элементов управления.
      Порядок создания объектно-ориентированного управляемого событиями приложения
      OOED-приложение:созданиеXE "OOED-приложение\:создание"приложение:OOED:созданиеXE "приложение\:OOED\:создание"Процесс разработки объектно-ориентированного управляемого событиями приложения (Object-Oriented/Event-Driven, OOED) включает шесть этапов и напоминает процесс проектирования и строительства дома. Для сравнения этих процессов воспользуйтесь табл. 2.1.
      Таблица 2.1. Этапы строительства дома и создания приложения
     
      Строительство дома Создание приложения
      1. Встреча с клиентом 1. Встреча с клиентом
      2.Разработка архитектурного проекта 2. Проектирование приложения      с использованием TOE-таблицы
      3. Закладка фундамента 3. Разработка интерфейса пользователя
      4. Возведение стен, крыши и прокладка      коммуникаций 4. Написание программного кода
      5. Проверка качества выполнения
           строительных работ и устранение
           недостатков 5. Тестирование и отладка приложения
      6. Оформление приемосдаточной
           документации 6. Оформление документации
      На первом этапе создания проекта, как архитектурного, так и компьютерного, разработчики выясняют требования клиента. После этого они приступают к плани­рованию, завершив которое, представляют проект на утверждение заказчику. Только теперь строитель может закладывать фундамент, а программист создавать своеобразный каркас приложения — интерфейс пользователя. Далее строитель возводит сооружение и прокладывает электрические кабели, канализацию, систему водоснабжения и т. д. Аналогичным образом программист завершает создание приложения, добавляя необ
      ходимые элементы программы (операторы) и совершенствуя интерфейс пользователя. После окончания работ строитель проверяет качество их выполнения и до того, как заказчик въедет в дом, устраняет все недостатки. Точно так же программист тестирует готовое приложение, исправляя все ошибки перед тем как вручить его пользователю. Заключительный этап и в том и в другом случае — оформление документации проекта, которая затем передается клиенту.
      Описание объектов приложения и выполняемых
      ими задач
      Любой OOED-приложение:проектированиеXE "OOED-приложение\:проектирование"Приложение:OOED:проектированиеXE "Приложение\:OOED\:проектирование"архитектор скажет вам, что главное значение для заказчика строительства дома имеет не красота сооружения, а соответствие его потребностям жильцов. Например, большая столовая нужна тому, кто часто устраивает приемы; для человека, ведущего замкнутый образ жизни, это будет нерациональным использованием жилой площади. Точно так же нуждам клиента должно соответствовать готовое OOED-приложение. Поэтому как жилой дом, так и компьют
      ерное приложение следует проектировать при активном участии будущих пользователей. Проектирование OOED-приложения предполагает:
      формирование задач, которые должно выполнять приложение;
      задание объектов для выполнения этих задач;
      определение событий, необходимых при активизации объектов, выполняющих поставленные задачи;
      создание эскиза интерфейса пользователя.
      Чтобы сформулировать задачи, выполняемые приложением, а также определить объекты и события, с которыми связаны эти задачи, удобно использовать TOE- таблицу (Task, Object, Event). В следующем разделе мы начнем разрабатывать такую таблицу для приложения компании Skate-Away Sales. Итак, наш первый шаг — определить задачи приложения.
      Определение задач
      Мы уже выяснили, что создание успешного приложения невозможно без совместной работы с заказчиком на этапе проектирования. Чтобы определить требования к проекту, вы просите менеджера по продажам компании Skate-Away Sales принести бланк, используемый продавцами при приеме заказов. Для выяснения задач, которые должно выполнять приложение, вам необходимо изучить процедуру заполнения этого бланка. Кроме того, он может служить как «путеводитель» при разработке интерфейса пользователя.
      Чтобы четко определить главные задачи, следует выяснить ряд вопросов, касающихся данных, с которыми будет работать приложение, а также порядка действий пользователя при вводе новой информации и выходе из программы.
      Далее перечислены эти вопросы и те ответы, которые на них может дать наш конкретный заказчик — представитель компании Skate-Away Sales.
      Какую информацию (если таковая имеется) приложение должно
      отображать на экране и/или распечатывать на принтере
      На экране должно быть отображено имя покупателя (Name), а также его почтовый индекс (ZIP), название улицы (Adrress), города (City) и штата (State). Кроме того, необходимо отобразить следующие данные: ставка налога (Sales tax rate), цена скейтборда (Ska­te­board price), количество заказанных скейтбордов синего цвета (Blue skateboards ordered), количество заказанных скейтбордов желтого цвета (Yellow skateboards ordered), общее количество заказанного товара (Total skateboards) и общая сумма заказа (Total price). В нашем случае не требуется вывод данных на принтер.
      Какую информацию (если таковая имеется) пользователь должен вводить с помощью пользовательского интерфейса, чтобы отображать и/или распечатывать нужные данные
      При работе с приложением компании Skate-Away Sales продавец должен ввести имя покупателя, его почтовый индекс, название улицы, города и штата, а также цену скейтборда, ставку налога, количество заказанных скейтбордов синего и желтого цвета.
      Какие данные (если таковые имеются) приложение должно вычислять, чтобы отображать и/или распечатывать нужные сведения
      Приложение компании Skate-Away Sales должно вычислять общее количество заказанных скейтбордов и общую сумму заказа.
      Как пользователь будет завершать работу приложения
      В теме 1 вы узнали о том, что все приложения должны давать пользователю возможность выхода из программы. Приложение компании Skate-Away Sales не является исключением и должно предоставлять способ завершения работы.
      Нужно ли удалять с экрана предыдущую информацию перед вводом новой
      После того как продавец компании Skate-Away Sales введет и рассчитает заказ, он должен будет очистить экран перед вводом данных о следующем заказе.
      Мы уже упоминали, что для создания перечня задач, а также объектов и событий, связанных с этими задачами,  TOE-таблица XE " TOE-таблица "удобно применить TOE-таблицу, которая представлена ниже. Первый столбец табл. 2.2 содержит определенные ранее задачи для разрабатываемого приложения. Проектирование OOED-приложений, в отличие от процедурно-ориентированного проектирования, не требует придерживаться строго заданного порядка перечисления задач. В данном случае сначала указаны задачи ввода данных, а затем задачи вычисления, отображения, завершения работы приложен
      ия и очистки экрана.
      Таблица 2.2. TOE-таблица, упорядоченная по задачам
     
      Задача Объект Событие
      Получить у пользователя следующую информацию:
      Имя покупателя NameTextBox Нет
      Название улицы AddressTextBox Нет
      Название города CityTextBox Нет
      Название штата StateTextBox Нет
      Почтовый индекс ZipTextBox Нет
      Цена скейтборда PriceTextBox Нет
      Ставка налога RateTextBox Нет
      Количество заказанных скейтбордов синего цвета BlueTextBox Нет
      Количество заказанных скейтбордов желтого цвета YellowTextBox Нет
      Вычислить общее количество заказанных скейтбордов
      и общую сумму заказа CalcButton Click
      (щелчок мышью)
      Отобразить следующую информацию:
      Имя покупателя NameTextBox Нет
      Название улицы AddressTextBox Нет
      Город CityTextBox Нет
      Штат StateTextBox Нет
      Почтовый индекс ZipTextBox Нет
      Цена скейтборда PriceTextBox Нет
      Ставка налога RateTextBox Нет
      Количество заказанных скейтбордов синего цвета BlueTextBox Нет
      Количество заказанных скейтбордов желтого цвета YellowTextBox Нет
      Общее количество заказанных скейтбордов CalcButton TotalBoardsLabel Click
      Нет
      Общая сумма заказа CalcButton TotalPriceLabel Click
      Нет
      Завершить работу приложения ExitButton Click
      Очистить экран для следующего заказа ClearButton Click
     
      ПРИМЕЧАНИЕ
      TOE-таблицу можно начертить вручную или создать с помощью текстового редактора (например, Microsoft Word).
      Теперь определим, какие объекты нужно создать в приложении для решения перечисленных в таблице задач.
      Определение объектов
      После занесения в TOE-таблицу всех поставленных задач каждой из них следует назначить объект в интерфейсе пользователя. Для данного приложения, кроме самой Windows-формы, вы будете использовать такие объекты, как надписи, кнопки и текстовые поля. Из материала, изложенного в теме 1, вам известно, что с помощью элемента управления Label отображается та информация, которую пользователь не должен изменять во время работы приложения, кнопка применяется для выполнения какого-либо действия непосредственно после щелчка на ней, а текстовое поле предоставляет возможнос
      ть ввести нужные данные. Теперь назначим объект каждой задаче из TOE-таблицы.
      Ваша первая задача — получение информации от клиента. При поступлении заказа продавец должен указать имя покупателя, его почтовый индекс, название улицы, города, штата, а также цену скейтборда, ставку налога и количество заказанных скейтбордов желтого и синего цвета. Поскольку нужно предоставить продавцу поля для занесения этих данных, первой задаче следует назначить девять текстовых полей — по одному для каждого типа данных. Текстовые поля будут представлены объектами NameTextBox, AddressTextBox, CityTextBox, StateTextBox, Zip­Text­Box, PriceTextBox, RateTextBox, BlueTextBox и YellowTextBox.
      Вторая указанная в схеме задача — расчет общего количества заказанных скейтбордов и общей суммы. Так как продавец должен вычислять эти значения при получении каждого заказа, назначим для выполнения данной операции кнопку Calculate Order, реализованную с помощью объекта CalcButton.
      Третья задача — отображение информации о заказе: общего количества скейтбордов и общей суммы. Указанные данные будут отображены автоматически, когда пользователь заполнит девять текстовых полей. При этом общее количество заказанных скейтбордов и общая сумма заказа не вносятся пользователем, а вычисляются после щелчка на кнопке Calculate Order. Поскольку пользователь не должен иметь возможности менять вычисленные результаты, необходимо, чтобы после щелчка на этой кнопке общее количество заказанных скейтбордов и сумма заказа отображались в двух надписях, п
      редставленных объектами TotalBoardsLabel и Total­PriceLabel. Обратите внимание, что каждая из задач, отображение общего количества заказанных скейтбордов и общей суммы заказа, потребовали использования двух объектов — CalcButton, TotalBoardsLabel и CalcButton, TotalPriceLabel соответственно.
      Две последние задачи, перечисленные в схеме, — завершение работы приложения и очистка экрана для следующего заказа. Назначим им кнопки Exit и Clear Screen, чтобы пользователь сам определял, когда выполнять эти действия. Объекты для данных кнопок назовем ExitButton и ClearButton.
      Все названные объекты представлены во втором столбце табл. 2.2.
      Итак, мы определили задачи и назначили им объекты интерфейса пользователя. Теперь для каждого объекта нужно задать необходимое событие (такое как щелчок или двойной щелчок мыши), которое заставит его выполнять поставленную задачу. Как это сделать, рассказано в следующем разделе.
      Определение событий
      Девять текстовых полей, перечисленных в табл. 2.2, назначены задачам получения и отображения информации. Поскольку получение и отображение текстовыми полями информации происходит автоматически, для выполнения их задачи никаких специальных событий задавать не требуется.
      Две надписи, TotalBoardsLabel и TotalPriceLabel, предназначены для отображения общего количества заказанных скейтбордов и общей суммы заказа. Они также автоматически отображают содержимое, поэтому и для них не нужны никакие специальные события. (Напомним, что обе надписи получают свои значения после щелчка на кнопке Calculate Order.)
     
      ПРИМЕЧАНИЕ
      Не всем объектам интерфейса пользователя для выполнения назначенной задачи требуется определение событий.
      Мы не задали события только трем кнопкам, представленным объектами Calc­Button, ClearButton и ExitButton. Определим, что они должны выполнять поставленные задачи после щелчка на них.
      Если вы пишете простую программу, подобную рассматриваемой, то можете использовать TOE-таблицу в такой форме, как указано выше. Но при разработке большого приложения полезно упорядочить данную таблицу не по задачам, а по объектам. Для этого нужно перечислить все объекты, содержащиеся во втором столбце табл. 2.2, и удостовериться, что каждый из них указан только один раз. Затем необходимо составить список задач, которые назначены каждому объекту в первом столбце названной таблицы, и перечень событий, заданных в третьем столбце. Ниже представлена TOE-таблица, у
      порядоченная по объектам.
      Таблица 2.3. TOE-таблица, упорядоченная по объектам
     
      Задача Объект Событие
      1. Вычисление общего количества заказанных
           скейтбордов и общей суммы заказа
      2. Отображение общего количества заказанных
           скейтбордов и общей суммы заказа в элементах
           управления TotalBoardsLabel и TotalPriceLabel CalcButton Click
      Очистка экрана для внесения данных следующего заказа ClearButton Click
      Завершение работы приложения ExitButton Click
      Отображение после щелчка на элементе управления CalcButton общего количества заказанных скейтбордов TotalBoardsLabel Нет
      Отображение после щелчка на элементе управления CalcButton общей суммы заказа TotalPriceLabel Нет
      Получение и отображение информации NameBox, AddressBox, CityTextBox, StateTextBox, ZipTextBox, PriceTextBox, RateTextBox, BlueTextBox, YellowTextBox Нет
      Следующий этап после создания TOE-таблицы — разработка эскиза интерфейса пользователя, описанная в следующем разделе.
      Разработка эскиза интерфейса пользователя
      интерфейс пользователя, проектированиеXE "интерфейс пользователя, проектирование"В TOE-таблице мы перечислили все объекты, которые должны быть включены в интерфейс пользователя, но ничего не сказали о местоположении этих объектов. Хотя разработка интерфейса — дело творческое, для того чтобы приложение не противоречило стандартам Windows, располагая объекты, необходимо следовать некоторым правилам. Это позволит облегчить изучение и использование вашего приложения, поскольку расположение элементов в интерфейсе окажется привычным для пользователя.
      Интерфейс следует организовать таким образом, чтобы информация располагалась либо вертикально, либо горизонтально, причем наиболее важные данные должны быть помещены в верхнем левом углу экрана. Если применяется вертикальное размещение, данные располагают сверху вниз, причем наиболее важные сведения помещают в первом столбце, а второстепенные — в столбцах справа от него. При горизонтальном размещении данные располагают слева направо, в этом случае самые важные из них помещают в первой строке, а второстепенные — в строках, находящихся ниже. Связанные
      между собой элементы можно расположить в пустом пространстве окна приложения, сгруппировать в блоке, ограниченном рамкой, или поместить на специально созданную панель.
      Если интерфейс содержит кнопки, их следует располагать либо внизу экрана, либо в правом верхнем или правом нижнем углу. Для данного приложения мы ограничимся тремя кнопками и поместим наиболее востребованные из них слева, если решим располагать кнопки в нижней части экрана, либо вверху, если кнопки будут помещены в правом верхнем или правом нижнем углу экрана.
      Далее приведены два эскиза интерфейса приложения для компании Skate-Away Sales. На первом из них (рис. 2.1) информация расположена вертикально. В этом случае при группировке связанных элементов управления использовано пустое пространство, а кнопки представлены в нижней части окна. На втором эскизе (рис. 2.2) информация размещена горизонтально. Здесь связанные элементы посредством элемента управления Group Box объединены в блоки, а кнопки расположены в правом верхнем углу окна.
      ПРИМЕЧАНИЕ
      Некоторые компании разработали собственные стандарты интерфейса пользователя. В этом случае при разработке приложения используют стандарты компании-заказчика, а не Win­dows-стандарты.
      Обратите внимание на то, что все текстовые поля и кнопки в интерфейсе снабжены надписями, так что пользователь имеет представление о назначении каждого элемента управления. Надписи для текстовых полей следует выравнивать по левому краю и располагать либо сверху, либо слева от соответствующего поля. Что касается кнопок, то вы уже знаете, что на каждой из них в одну строку должна быть размещена состоящая не более чем из трех слов надпись, содержащая информацию о действии, выполняемом после нажатия этой кнопки.
      Надписи обязательно должны нести смысловую нагрузку. Например, надпись, расположенная возле текстового поля, сообщает пользователю, какого рода информацию он должен ввести, а текст на кнопке указывает действие, к выполнению которого приведет щелчок на ней.
      Каждая надпись возле текстового поля заканчивается двоеточием (:), чтобы отделить саму надпись от текста, вводимого в поле. В соответствии со стандартом Win­dows, в надписях с заглавной буквы пишутся только первое слово и слова, в которых заглавные буквы употребляются по правилам. Этот же подход распространяется и на кнопки, если речь идет о тексте на русском языке. В названии кнопки на английском языке все слова нужно писать с заглавной буквы, за исключением артиклей, союзов и предлогов, расположенных не в начале и не в конце текста.
      При создании интерфейса пользователя определите количество элементов управления, которое вам понадобится. Для того чтобы облегчить пользователю восприятие информации, постарайтесь свести к минимуму число различных полей, а также используйте выравнивание рамок, ограничивающих блоки, в которые сгруппированы элементы управления (см. рис. 2.1 и 2.2).
      На занятии 2 мы выполним третий из шести этапов создания объектно-ориентированного управляемого событиями приложения — используя как основу эскиз, представленный на рис. 2.1, создадим интерфейс приложения для компании Skate-Away Sales. Занятие 3 будет посвящено последним трем этапам: программированию, тестированию и отладке приложения, а также оформлению соответствующей документации.
      Подведение итогов
      На этом занятии вы узнали, как проектировать объектно-ориентированные управляемые событиями приложения с использованием TOE-таблицы, и выяснили, из каких шести этапов состоит процесс создания приложения. Мы рассказали о порядке выполнения этапа проектирования и изложили основные правила, которым нужно следовать при создании эскиза графического интерфейса пользователя. На следующем занятии вы на практике научитесь создавать графический интерфейс простого приложения с помощью Visual Basic .NET.
      Занятие 2
      Создание интерфейса пользователя
      На этом занятии рассмотрены следующие вопросы:
      создание интерфейса пользователя с помощью TOE-таблицы
      и готового эскиза;
      стандарты Windows, относящиеся к графике, цвету и шрифтам;
      использование свойства BorderStyle;
      добавление в форму текстового поля;
      фиксация позиций элементов управления в форме;
      назначение элементам управления клавиш быстрого доступа;
      использование свойства TabIndex.
      Размещение элементов интерфейса
      Интерфейс:пользователя:созданиеXE "Интерфейс\:пользователя\:создание"На прошлом занятии вы спроектировали приложение, выполнив таким образом второй этап процесса создания объектно-ориентированного управляемого событиями приложения. Теперь можно приступать к разработке интерфейса пользователя — размещению в форме соответствующих элементов управления и настройке их свойств. В качестве основы мы используем TOE-таблицу и эскиз, подготовленные на предыдущем занятии. Напомним, что свойства отвечают за вид и характеристики объекта, например шрифт или раз
      мер. Работу можно построить по-разному: сначала создать весь интерфейс, а затем установить свойства объектов или настроить свойства каждого объекта сразу после помещения его в форму. Любой из двух способов подходит, и порядок работы зависит от ваших личных предпочтений.
      Чтобы сэкономить время, воспользуйтесь частично разработанным приложением для компании Skate-Away Sales. В нем создана часть интерфейса пользователя и установлены значения большинства свойств, в форме не хватает только одного элемента управления — текстового поля. На этом занятии вы добавите недостающий элемент и настроите его свойства.
      Для того чтобы открыть приложение, выполните следующие действия.
      1.
      Запустите интегрированную среду разработки Visual Studio .NET, если это еще не сделано. После того как на экране появится окно Start Page, закройте его.
      2.
      Активизируйте команду >Open Solution и выберите файл VBNET\Tut02\Order Solution\Order Solution.sln.
      3.
      Если окно конструктора форм не открыто, дважды щелкните левой кнопкой мыши на файле Order Form.vb в окне Solution Explorer.
      Элементы управления, которые уже включены в приложение, показаны на рис. 2.3. Имена отдельных из них представлены в полях ввода. Что касается кнопок, то им соотвествуют следующие элементы управления: кнопке Calculate Order — элемент управления CalcButton, кнопке Clear Screen — элемент управления ClearButton, а кнопке Exit — элемент управления ExitButton. Объект формы имеет название OrderForm.
      Данный интерфейс пользователя основан на эскизе, который был разработан ранее (см. рис. 2.1). Напомним, что этот эскиз создан с учетом правил, изученных вами на прошлом занятии. Так, информация расположена вертикально, причем наиболее важные данные размещены в левом верхнем углу формы. Кнопки находятся в нижней части формы, и первую позицию занимает наиболее востребованная из них. Надписи на кнопках несут смысловую нагрузку, при этом каждая такая надпись размещена в одной строке и состоит максимум из трех слов. Надписи для текстовых полей выровнены по лево
      му краю и расположены слева от соответствующих элементов управления, каждая из них в соответствии с Win­dows- стандартом завершается двоеточием.
      Обратите внимание, что элементы управления в форме выровнены, где это возможно. Для такого выравнивания удобно пользоваться сеткой, узлы которой отображаются точками во время разработки формы, либо командами подменю Format>Align (см. материал темы 1).
      При размещении элементов управления убедитесь, что вы сохраняете отступ от края формы, рекомендуемая величина — два-три узла сетки. Например, на рис. 2.3 нижние края трех кнопок и формы разделяют три узла. Такое же расстояние оставлено между левыми краями формы и надписей, помещенных в первом столбце.
      Как хорошо видно на рис. 2.3, связанные элементы управления обычно располагаются с интервалом, равным одному шагу сетки. Например, одной точкой разделены находящиеся в одном вертикальном ряду элементы управления NameTextBox и AddressTextBox. Такое же расстояние установлено между правым краем кнопки Calculate Order и левым краем кнопки Clear Screen. Те элементы управления, которые не относятся ни к одной из логических групп, можно поместить на два–четыре узла дальше остальных элементов.
      Всегда следите за тем, чтобы кнопки были соразмерны друг другу. Если они помещены в нижнюю часть экрана, как на рис. 2.3, то должны иметь одинаковую высоту, а их ширину можно при необходимости варьировать. Но когда кнопки расположены вертикально (в правом верхнем или правом нижнем углу экрана), их ширина тоже должна быть одинаковой.
      Применение графики, шрифтов и цвета
      При разработке интерфейса пользователя ваша задача — создать экран, который не будет отвлекать внимание. Броский интерфейс поначалу может вызвать восторг пользователей, но вскоре начнет их утомлять и раздражать. К сожалению, некоторые разработчики при создании элементов интерфейса не могут удержаться от чрезмерного использования доступных в Visual Basic .NET различных цветов, шрифтов и графики. В следующих разделах мы познакомим вас с правилами, которым нужно следовать, создавая эти элементы. Сначала обратимся к графике.
      Включение рисунков
      Учтите, что человеческий глаз замечает вначале рисунки, а уже потом текст. Поэтому графические элементы следует включать в интерфейс только в случае необходимости. Обычно рисунки используются для того, чтобы подчеркнуть или пояснить содержимое, отображаемое на экране. Кроме того, рисунок можно применять в эстетических целях, если его размер невелик, а расположение не раздражает пользователя и не отвлекает внимание. Например, маленький рисунок помещен в интерфейсе приложения для компании Skate-Away Sales только из этих соображений. Мы преднамеренно расположи
      ли его в верхнем левом углу формы, куда вначале обращается взгляд пользователя, для придания индивидуальности бланку заказа Skate-Away Sales.
      В следующем разделе будет рассказано об основных правилах использования различных шрифтов в процессе разработке интерфейса.
      Использование различных шрифтов
      ШрифтXE "Шрифт"Шрифт:типXE "Шрифт\:тип"Интерфейс:пользователя:применение шрифтовXE "Интерфейс\:пользователя\:применение шрифтов"Как вы уже знаете из темы 1, при отображении текста в объектах можно изменять шрифт (используя, например, Microsoft Sans Serif, Tahoma или Courier), его начертание (полужирное, курсивное и обычное) и размер (например, 8, 10, 18 пунктов).
      Одни шрифты относятся к типу serif (с засечками), другие — к типу sans serif (рубленый шрифт). Засечками называются маленькие штрихи вверху или внизу символа. Символы шрифта типа serif имеют такие засечки, а символы шрифта sans serif — нет. Обычно в книгах используется шрифт с засечками, потому что текст, набранный таким шрифтом, легко читать на печатной странице. А текст, набранный шрифтом без засечек, проще читать с экрана, поэтому при разработке интерфейса следует применять шрифты без засечек. Обычно для надписей элементов интерфейса Windows употребляется шрифт Microsoft Sans Se
      rif. Однако в приложениях, которые будут выполняться в Windows 2000 или Win­dows XP, рекомендуется использовать шрифт Tahoma, потому что он лучше читается и предоставляет поддержку глобализации. Для всех видов текста, содержащихся в интерфейсе, следует применять один и тот же шрифт. Например, в нашем приложении — это шрифт Tahoma.
      Что касается размера шрифта, то он может варьироваться от 8 до 12 пунктов (1 пункт равен 1/72 дюйма). Однако в одном интерфейсе разрешается использовать не более двух размеров. Поэтому в нашем приложении применяются шрифты  двух размеров: 12 пунктов для заголовка и 10 пунктов для остального текста.
      При разработке интерфейса старайтесь избегать использования курсивного начертания и подчеркивания текста, потому что это усложняет чтение, а к полужирному начертанию прибегайте только в заголовках и ключевых понятиях, которые хотите выделить.
      Кроме графических излишеств и неправомерного применения шрифтов, многие разработчики приложений ошибаются при выборе цветовой гаммы, предпочитая либо слишком яркие цвета, либо избыточные комбинации цветов в интерфейсе пользователя. В следующем разделе вы узнаете о том, каких правил следует придерживаться при задании цветов.
      Применение цветовой гаммы
      Мы уже говорили, что человеческий глаз вначале реагирует на рисунок, а уже потом на текст. Точно так же яркие цвета привлекают внимание раньше, чем черно- белые. Поэтому при создании интерфейса рекомендуется вначале использовать черный, белый и серый цвета, а уже потом при необходимости  добавлять другие. При выборе цветовой гаммы постарайтесь учесть следующие факторы:
      часть пользователей будет работать с монохромными мониторами;
      некоторые люди страдают дальтонизмом или какой-либо формой цветовой слепоты, поэтому плохо различают цвета;
      отношение к цвету очень субъективно — оттенок, который нравится вам, может раздражать других;
      в разных национальных культурах цвет несет различную смысловую нагрузку.
      Советуем вам при выборе цвета следовать стандарту Windows, то есть использовать черный текст на белом и светло-сером фоне (темный текст на светлом фоне легче читается). В частности, в нашем интерфейсе приложения для компании Skate-Away Sales черный текст отображается на светло-сером фоне. Если вы хотите немного «раскрасить» интерфейс, можете использовать другую комбинацию: черный текст на бледно-голубом или бледно-желтом фоне. Никогда не создавайте черный фон для текста, выполненного темным цветом, поскольку глаза плохо воспринимают такое сочетание. Избегайте такж
      е использования белого фона для светлого текста, в этом случае текст может выглядеть расплывчато.
      Применяя в интерфейсе несколько цветов, ограничьте их количество тремя (кроме белого, черного и серого) и обязательно убедитесь, что цвета сочетаются друг с другом.
      Важные элементы интерфейса можно выделить цветом, но учтите, что это только вспомогательное средство для привлечения к ним внимания. Каждый такой элемент все равно должен быть снабжен соответствующей надписью. Так, в нашем приложении голубой и желтый цвета помогут продавцу быстро найти поля, в которые необходимо внести количество заказанных скейтбордов синего и желтого цвета. А слева от каждого из этих полей расположены надписи, уведомляющие об этом (Blue skateboards ordered и Yellow skateboards ordered).
      Теперь давайте вернемся к нашему приложению и заменим серый цвет фона формы белым.
      Для того чтобы произвести такое изменение, выполните следующие действия.
      1.
      Выделите форму, щелкнув на ней мышью. В окне Properties выберите свойство BackColor, а затем щелкните на списке в поле значений свойства. Активизируйте вкладку Custom и выберите белый цвет, после чего фон формы станет белым. Заметьте также, что цвет фона большинства элементов формы тоже стал белым.
      В отличие от предыдущих версий, в Visual Basic .NET элементу управления следует явно задавать свойство BackColor, иначе он наследует цветовые характеристики своего родителя. Здесь форма является родителем по отношению к каждому элементу управления в интерфейсе приложения, поэтому после изменения цвета фона формы их цвет фона тоже изменился. Но для двух элементов, представленных объектами BlueTextBox и YellowTextBox, свойство BackColor было задано явно, и их цвета фона остались голубым и желтым соответственно.
      Теперь явно зададим свойство BackColor кнопки Calculate Order.
      2.
      Щелкните на этой кнопке. После этого в окне Properties выберите свойство BackColor, затем в поле его значений щелкните на стрелке списка. Перейдите на вкладку System и выберите элемент Control. Цвет фона кнопки Calculate Order станет серым.
      Предположим, вы хотите вернуться к первоначальному внешнему виду интерфейса. Для того чтобы отменить внесенные ранее изменения, можно воспользоваться командой Undo или одноименной кнопкой, расположенной на панели инструментов.
      3.
      Выполните команду Edit>Undo (Правка>Отменить), после чего цвет фона кнопки Calculate Order станет белым (цветом ее родительской формы).
      4.
      Для того чтобы вернуть фону формы серый цвет, повторно выполните команду Undo.
      В предыдущих разделах вы познакомились с общими правилами использования графики, шрифтов и цветовой гаммы, которым нужно следовать при создании элементов интерфейса. Теперь вам предстоит попрактиковаться в создании рамки для элемента управления, научиться задавать текст, который будет отображаться в поле ввода при запуске приложения, добавлять в форму текстовое поле и закреплять в ней местоположение созданных элементов интерфейса, назначать для некоторых элементов клавиши быстрого доступа и настраивать свойство TabIndex.
      Выбор стиля рамки элемента управления
      Свойство:BorderStyleXE "Свойство\:BorderStyle"BorderStyle, свойствоXE "BorderStyle, свойство"Свойство BorderStyle определяет стиль рамки элемента управления. Для данного свойства предусмотрены три значения: None, FixedSingle и Fixed3D. Если свойству присвоено значение None, элемент не имеет рамки, если значение FixedSingle — элемент окружает тонкая линия, а если значение Fixed3D — элемент имеет трехмерное представление. Сейчас в интерфейсе приложения Skate-Away Sales свойству BorderStyle надписей присвоено значение None, обычно используемое для надписей, а свойству BorderStyle текстовых полей — значение Fixed3D, чаще всего при
      меняемое для текстовых полей.
     
      ПРИМЕЧАНИЕ
      В интерфейсе Windows-приложений обычно не представляют в трехмерном виде те элементы управления, которые содержат данные, не подлежащие редактированию пользователем. Поэтому свойству BorderStyle надписей не следует присваивать значение Fixed3D.
      Свойство BorderStyle текстовых полей и надписей, определяющих другие элементы управления, не нужно менять — пусть ему будет присвоено значение Fixed3D и None соответственно. Но свойству BorderStyle надписи, отображающей результат работы программы (например, результат вычисления), обычно присваивают значение FixedSingle. В интерфейсе нашего приложения элементы управления, представленные объектами TotalBoardsLabel и TotalPriceLabel, отображают результаты вычислений, поэтому задайте свойству BorderStyle данных элементов значение FixedSingle. Для этого выполните следующие действия.
      1.
      Выделите элементы управления, представленные объектами TotalBoardsLabel и TotalPriceLabel.
     
      СОВЕТ
      Для того чтобы выделить оба элемента управления, сначала щелкните на одном из них, а затем, удерживая клавишу Ctrl, щелкните на втором.
      2.
      Присвойте свойству BorderStyle выделенных элементов значение FixedSingle, а затем произведите щелчок мышью в форме, чтобы отменить выделение.
      Теперь перейдем к изучению свойства Text.
      Создание надписи на элементе управления
     
      СОВЕТ
      Большинство свойство:TextXE "свойство\:Text"Text:свойствоXE "Text\:свойство"клиентов компании Skate-Away Sales живут в штате Иллинойс (Illinois), поэтому удобно, чтобы при запуске приложения в текстовом поле State формы заказа отображалась аббревиатура IL. Если же заказ сделан покупателем из другого штата, продавец может изменить название в динамическом режиме. Для этого он должен сначала щелкнуть в текстовом поле State, а затем удалить текущее значение и ввести новое.
     
      СОВЕТ
      Чтобы при запуске приложения в текстовом поле State отображалась аббревиатура, соответствующая названию штата Иллинойс, нужно присвоить свойству Text данного элемента управления значение IL.
     
      СОВЕТ
      Придерживайтесь следующего порядка действий.
      1.
      Щелкните на элементе управления, представленном объектом StateTextBox.
      2.
      В окне Properties выберите свойство Text, затем введите значение IL и нажмите клавишу Enter. После этого в текстовом поле State появится аббревиатура IL.
     
      СОВЕТ
      Обратите внимание, что в интерфейсе отсутствует текстовое поле, в которое пользователь должен вводить название города. Как добавить элемент управления в форму, будет описано в следующем разделе.
      Добавление текстового поля в форму
      текстовое полеXE "текстовое поле"Текстовое поле предоставляет в форме область, в которую пользователь может вводить данные.
      ПРИМЕЧАНИЕ
      Напомним, что в контексте объектно-ориентированного программирования каждый инструмент, представленный на панели инструментов, является классом — шаблоном, на основе которого создается один или несколько объектов, называемых элементами управления. Каждый элемент управления, который вы создаете, является экземпляром класса. Например, элемент управления TextBox1 — экземпляр класса TextBox.
     
      СОВЕТ
      Теперь добавим в форму текстовое поле, а затем настроим его свойства. Элемент управления:TextBoxXE "Элемент управления\:TextBox"TextBox, элемент управленияXE "TextBox, элемент управления"Для этого нужно выполнить следующие действия.
      1.
      Выберите на панели инструментов инструмент TextBox. Перетащите его в форму и поместите справа от надписи City прямо под текстовым полем Address. Пока можете не беспокоиться о точном расположении текстового поля.
     
      СОВЕТ
      Текст, который появился внутри созданного текстового поля, представляет собой значение свойства Text данного элемента управления. Чтобы данный текст больше не появлялся при запуске приложения, его следует удалить.
      2.
      Выделите текст TextBox1 в поле значений свойств, выполнив двойной щелчок на свойстве Text в окне Properties.
      3.
      Чтобы удалить выделенный текст, нажмите клавишу Delete, а затем клавишу Enter. Теперь это текстовое поле пусто.
      ПРИМЕЧАНИЕ
      Для удаления выделенного текста в окне Properties применяйте только клавишу Delete или Backspace. Не пользуйтесь при выполнении этой операции клавишей пробела, поскольку выделенное значение свойства будет заменено пробелом.
      Переименуем объект TextBox1 (имя, присвоенное по умолчанию) в CityTextBox. Кроме того, увеличим размер шрифта до 10 пунктов.
      4.
      Настройте свойства текстового поля таким образом:
      Name: CityTextBox
      Font: 10
     
      СОВЕТ
      Напомним, что в списке свойств, упорядоченном по алфавиту, свойство Name расположено третьим. Если же список окна Properties упорядочен по категориям, это свойство находится в категории Design.
      Далее, используя подменю Format>Align, выровняем левый край элемента управления CityTextBox по левому краю элемента управления AddressTextBox.
      5.
      Нажав и удерживая клавишу Ctrl, щелкните на элементе управления Address­TextBox. Теперь будут выделены оба элемента управления: CityTextBox и Ad­dress­TextBox.
      6.
      Выполните команду Format>Align>Lefts (Формат>Выровнять>По левому краю), чтобы выровнять оба элемента управления по левому краю.
      С помощью команд подменю Format>Make Same Size изменим соответствующим образом размеры элемента управления CityTextBox.
      7.
      Элемент управления:выравнивание в формеXE "Элемент управления\:выравнивание в форме"Для того чтобы ширина и высота элемента управления CityTextBox стала рав­ной ширине и высоте элемента управления AddressTextBox, воспользуемся командой Format>Make Same Size>Both.
     

Самоучитель Visual Basic .NET. / Д. Зак - СПб: Питер, 2003. - 560 с.

Экономика и управление | Право/a> | Бухгалтерский учет и налоги |