Visual Basic .NET на уроках информатики

Ваша первая программа

Разбить на страницы
Показывать лекцию целиком

В этой лекции вы узнаете, как:

  • создать пользовательский интерфейс для новой программы;
  • настроить свойства для каждого объекта пользовательского интерфейса;
  • создать код программы;
  • сохранить и запустить программу;
  • создать исполняемый файл.
  • В среде Microsoft Visual Studio .NET имеются мощные инструменты для запуска программ и работы с ними. В Visual Studio также содержится все необходимое для создания с нуля приложений для Microsoft Windows. В этой лекции вы узнаете, как создать простой, но привлекательный графический интерфейс с помощью элементов управления из области элементов Visual Studio. Затем вы узнаете, как настраивать поведение этих элементов управления, изменяя их свойства, и напишете код, который определит, что будет делать ваша программа. В конце лекции вы узнаете, как сохранить и запустить вашу программу (игорный автомат в стиле Лас-Вегаса), и как скомпилировать исполняемый файл.

    Что нового в Visual Basic .NET?

  • В среде разработки Visual Studio .NET частично изменились меню и панели инструментов, которые используются при создании программ. Например, в Visual Basic 6 имелись меню Format (Формат), Run (Запуск) и Add-Ins (Дополнительные модули), которые отсутствуют в Visual Studio. Большинство команд было перенесено в другие меню - например, команды меню Run (Запуск) вы найдете в меню Debug (Отладка).
  • Элемент управления CommandButton в Visual Studio .NET называется Button, и многие из его свойств и методов также изменились. Например, свойство Caption теперь называется Text.
  • Появились новые свойства и методы в элементе управления Label (надпись), старые также изменились. Например, у свойства TextAlign появились новые возможности по сравнению с его ранней версией - свойством Alignment.
  • Элемент управления Image удален из Visual Studio. Для вывода изображений теперь используется элемент управления PictureBox.
  • По сравнению с Visual Basic 6 в программах Visual Basic .NET стало больше кода, добавляемого автоматически. В частности, в верхней части каждой формы Visual Basic .NET добавляет блок кода, помеченный как "Код, автоматически созданный конструктором форм Windows". В этом блоке определяются важные характеристики формы, и он не должен изменяться (собственный код можно писать после этого блока кода.)
  • Visual Studio может создавать два типа исполняемых файлов вашего проекта - отладочную версию и окончательную (распространяемую) версию. Отладочные версии содержат отладочную информацию и используются при тестировании и отладке программы. Окончательные версии оптимизированы и имеют меньший размер, они создаются, когда разработка программы завершена.
  • "Семерка": ваша первая программа на Visual Basic

    Приложение для Windows, которое мы будем создавать в этой лекции, называется "Семерка" (Lucky Seven). Эта программа имитирует игровой автомат со "счастливыми" числами. У "Семерки" простой графический интерфейс, ее можно создать и скомпилировать в Visual Basic всего за несколько минут. Вот как будет выглядеть программа, когда вы ее закончите.

    Примечание. Готовую версию "Семерки" можно найти в папке c:\vbnet03sbs\Гл.2\СемеркаОбразец\bin..

    Шаги программирования

    Графический интерфейс "Семерки" имеет две кнопки, три поля для показа "счастливых" чисел, цифровую фотографию, символизирующую выигрыши, и текст "Счастливая семерка". Чтобы сконструировать этот интерфейс, нужно создать семь объектов на форме Семерка, а затем изменить некоторые свойства в каждом из них. Затем нужно добавить код программы для кнопок Крутить и Выход, который обрабатывает нажатия пользователя на этих кнопках и генерирует случайные числа. Чтобы создать эту программу с самого начала, необходимо выполнить в Visual Basic три основных шага по разработке программы: создать интерфейс пользователя, настроить свойства и написать код программы. В таблице описан этот процесс для "Семерки".

    Шаг программирования Число элементов
    Создать графический интерфейс пользователя 7 объектов
    Настроить свойства 12 свойств
    Написать код программы 2 объекта

    Создание пользовательского интерфейса

    В этом упражнении вы начнете работу над "Семеркой" с создания нового проекта, а затем с помощью элементов управления из области элементов соберете интерфейс пользователя.

    Создание нового проекта

  • Запустите Visual Studio.
  • На начальной странице Visual Studio нажмите кнопку New Project (Создать проект).

    Совет. Новый проект можно начать и в меню File (Файл), выбрав в нем New (Создать), а затем Project (Проект).

    Появится диалоговое окно New Project (Создать проект).

    В Visual Studio можно создавать не только стандартные приложения для Windows, но и веб-приложения, и компоненты операционной системы. В диалоговом окне New Project (Создать проект) можно указать тип программы или компонента, который необходимо создать, язык, который будет использоваться, имя проекта и расположение файлов.

  • Убедитесь, что в списке Project Types (Типы проектов) выбрана папка Visual Basic Projects (Проекты Visual Basic), а затем в окне Templates (Шаблоны) выберите Windows Application (Приложение для Windows). Visual Studio настроит среду разработки для программирования Windows-приложения на Visual Basic .NET.
  • В текстовом поле Name (Имя) введите Семерка, а затем в поле Location (Расположение) укажите путь для хранения файлов проекта. (Чтобы выбрать папку на диске, можно нажать кнопку Browse (Обзор)). Visual Studio присвоит вашей программе имя "Семерка" и создаст на жестком диске новую папку для проекта с таким именем.

  • Нажмите OK, после чего новый проект будет создан.

    Visual Studio показывает в центре экрана пустую графическую форму Windows (обычно имеющую название Form1), на основе которой можно создавать интерфейс для пользователей вашего приложения.

  • Теперь мы увеличим форму, а затем создадим на ней две кнопки.

    Создание пользовательского интерфейса

  • Наведите указатель мыши на правый нижний угол формы так, чтобы он принял форму стрелки для изменения размера. Потяните за этот угол, чтобы размер формы увеличился и места для объектов вашей программы стало достаточно. Если размер формы становится больше, чем окно, в котором она находится, в Windows Forms Designer (Конструкторе Windows Forms) появятся полосы прокрутки. Иными словами, в зависимости от разрешения экрана и открытых окон инструментов Visual Studio у вас может не хватить места для отображения всей формы целиком. Не беспокойтесь об этом - форма может быть маленькой или занимать весь экран, но с помощью полос прокрутки можно получить доступ к любой ее части. Задайте размер вашей формы. Он должен быть примерно равен размеру формы, показанной здесь.

    Чтобы увидеть всю форму без помех, вы можете изменить размер других окон инструментов, как описано в лекции 1, или закрыть их совсем. (Если у вас есть вопросы по изменению размера окон или инструментов, вернитесь к лекции 1.) Теперь давайте добавим на форму кнопки.

  • В области элементов выберите элемент управления Button.
  • Поместите указатель мыши над формой. Указатель мыши примет форму перекрестия со значком кнопки. Перекрестие появляется для того, чтобы было удобнее рисовать прямоугольник кнопки. Когда вы нажмете левую кнопку мыши и потянете ее в сторону, появится прямоугольное поле объекта, которое будет привязано к сетке, показанной точками. Теперь попробуйте создать вашу первую кнопку.
  • Переместите указатель мыши ближе к верхнему левому углу формы, нажмите левую кнопку мыши, а затем потащите ее вниз и вправо. Когда вы нарисуете кнопку, похожую на показанную здесь, остановите мышь и отпустите кнопку.

    На форме появится кнопка с маркерами изменения размера. Эта кнопка называется Button1, и это первая кнопка в программе. (Обратите внимание на название кнопки - вы увидите его снова при написании кода программы.)

  • Когда Visual Basic находится в режиме разработки (то есть тогда, когда активна среда программирования Visual Studio), кнопки можно передвигать по полю формы с помощью мыши и изменять их размер при помощи маркеров изменения размера. Однако когда программа запущена и выполняется, пользователь не сможет перемещать элементы интерфейса, если только эта возможность не задана в специальном свойстве. Давайте попрактикуемся в перемещении и изменении размера кнопки.

    Перемещение и изменение размера кнопки

  • Наведите указатель мыши на кнопку так, чтобы он принял форму четырех стрелок, направленных в разные стороны, а затем перетащите кнопку вниз и вправо. Когда вы отпустите кнопку мыши, кнопка привяжется к сетке, которая создана для того, чтобы помочь редактировать и размещать элементы графического интерфейса. Шаг сетки можно изменить, для этого нужно из меню Tools (Сервис) открыть окно Options (Параметры), в нем выбрать папку Конструктор Windows Forms и изменить свойство GridSize.
  • Поместите указатель мыши над нижним правым углом кнопки. Когда указатель мыши окажется над маркером изменения размера, он изменит вид и тогда размер объекта можно изменить.
  • Увеличьте кнопку, нажав левую кнопку мыши и перетащив ее указатель вниз и вправо. Когда вы отпустите кнопку мыши, объект на экране изменит свой размер и привяжется к сетке.
  • Наведите указатель мыши на маркер изменения размера и верните кнопку к ее прежнему виду, а затем передвиньте ее обратно в первоначальное положение на форме.
  • Теперь мы добавим на форму вторую кнопку, которая будет расположена ниже первой.

    Добавление второй кнопки

  • В области элементов выберите элемент управления Button.
  • На форме ниже первой кнопки нарисуйте новую кнопку. (Сделайте ее такого же размера.)

    Совет. Чтобы быстро добавить к форме новый элемент управления, дважды щелкните на нем мышью в области элементов, и новый объект с размерами по умолчанию будет добавлен на поле формы.

  • После того, как кнопка нарисована, передвиньте ее или измените размер, если это необходимо. Если вы сделали ошибку, то можете удалить кнопку и нарисовать ее еще раз.
  • Теперь добавьте надписи, которые используются в программе для показа чисел. Надпись - это специальный элемент графического интерфейса, предназначенный для показа при выполнении программы текста, чисел или символов. Когда пользователь программы нажимает кнопку Крутить, в полях надписей появляются три случайных числа. Если одно из чисел - "7", то пользователь выиграл.

    Добавление числовых надписей

  • В области элементов выберите элемент управления Label.
  • Поместите указатель мыши над формой. Указатель мыши примет форму перекрестия с буквой A.
  • Нарисуйте небольшой прямоугольник, как показано на следующей иллюстрации. Объект-надпись, который вы создали, называется Label1 и является первой надписью в программе. Создайте на форме еще две надписи с именами Label2 и Label3.

  • В области элементов выберите элемент управления Label, а затем нарисуйте область надписи справа от первой надписи. Сделайте новую надпись такого же размера, как и первую. На надписи появится текст Label2.
  • Снова выберите элемент управления Label и добавьте на форме третью надпись справа от второй. На ней появится текст Label3. Теперь нужно добавить надпись для описания. Это будет четвертая и последняя надпись в программе. В области элементов выберите элемент управления Label.
  • Нарисуйте большой прямоугольник прямо под двумя кнопками.

    Ваши надписи будут выглядеть примерно так, как показано на иллюстрации ниже. (Если надписи выглядят не вполне правильно, их размер можно изменить.)

  • Теперь добавьте на форму рамку для рисунка, чтобы показать графический приз, когда пользователь выбросит "7". Поле рисунка предназначено для показа в программе точечных изображений, значков, цифровых фотографий и других изображений. Обратите внимание, что в поле рисунка можно показывать файлы с изображениями в формате JPEG.

    Добавление изображения

  • В области элементов выберите элемент управления PictureBox.
  • Нарисуйте большой прямоугольник прямо под тремя надписями для цифр. В результате поле рисунка должна выглядеть так.

    Этот объект в программе будет называться PictureBox1, и это имя в дальнейшем используется при написании кода программы.

  • Теперь нужно настроить интерфейс, задав несколько свойств.

    Настройка свойств

    Чтобы изменить свойства, необходимо выбрать объект на форме и затем выбрать нужное свойство в окне Properties (Свойства). Начните с изменения свойств для двух кнопок.

    Настройка свойств кнопки

  • Щелкните на первой кнопке Button1. Кнопка будет выделена и окружена маркерами изменения размера.
  • Дважды щелкните мышью на строке заголовка в окне свойств.

    Совет. Если окно Properties (Свойства) скрыто, выберите из меню View (Вид) команду Properties Window (Окно Свойств) или нажмите клавишу (F4).

  • Измените размер окна Properties (Свойства) так, чтобы в нем было достаточно места для отображения имен свойств и их текущих значений. Когда вы освоитесь с настройкой свойств, то сможете работать с окном Properties (Свойства) без увеличения его размеров, но когда вы делаете это впервые, лучше сделать его побольше. На следующей иллюстрации окно Properties (Свойства) имеет подходящий размер для установки свойств.

    В окне содержится список настроек (свойств) первой кнопки. В них входят параметры для цвета фона, текста, высоты шрифта и ширины кнопки. Так как свойств очень много, Visual Studio организует их в категории и показывает в виде структуры. Если вы хотите увидеть свойства из какой-то категории, нажмите знак "плюс" (+) рядом с названием категории.

  • Прокрутите список окна Properties (Свойства) до тех пор, пока не увидите свойство Text, расположенное в категории Внешний вид.
  • Дважды щелкните мышью в левом столбце свойства Text. Текущее значение свойства Text ("Button1") будет выделено.
  • Наберите слово Крутить и нажмите клавишу (Enter). Свойство Text изменит значение на "Крутить", и этот же текст появится на самой кнопке на форме.

    Теперь давайте изменим свойство Text для второй кнопки так, чтобы там было написано "Выход", но выделим вторую кнопку новым способом.

  • В верхней части окна Properties (Свойства) раскройте список объектов. Появится список объектов интерфейса программы.

  • В этом списке выберите Button2 System.Windows.Forms.Button (это вторая кнопка). В окне Properties (Свойства) появятся значения свойств для второй кнопки, а Visual Studio выделит объект Button2 на форме.
  • Дважды щелкните мышью на свойстве Text (текущее значение "Button2"), наберите Выход, а затем нажмите клавишу (Enter). Текст на второй кнопке изменится на Выход.

    Совет. Использование раскрывающегося списка объектов - удобный способ переключения между объектами программы. Между объектами формы можно переключаться, просто щелкая на них мышью.

  • Теперь мы настроим свойства для надписей. Первые три надписи будут содержать случайные числа, сгенерированные программой, и их настройки будут одинаковы. (Мы настроим свойства сразу для всей группы.) Настройки надписи с описанием будут слегка отличаться.

    Настройка свойств надписей для чисел

  • Выберите первую надпись, предназначенную для чисел ( Label1 ), а затем, удерживая нажатой клавишу (Shift), щелкните на второй и третьей надписях. Если вам мешает окно Properties (Свойства), передвиньте его в другое место. Вокруг каждой из надписей, по которой вы щелкаете, появляются прямоугольники выделения и маркеры изменения размера. Выделите все три надписи и отпустите клавишу (Shift). Теперь нужно изменить свойства TextAlign, BorderStyle и Font так, чтобы числа, которые будут появляться в этих надписях, находились в центре, были обведены рамкой и показывались одним и тем же шрифтом одинакового размера. Все эти свойства перечислены в окне Properties (Свойства) в категории Внешний вид.

    Совет. Когда выделено более одного объекта, в окне Properties (Свойства) видны только те свойства, которые можно изменить для всей группы выделенных объектов.

  • В окне Properties (Свойства) выберите TextAlign, а затем нажмите справа на стрелку раскрывающегося списка. Появляется схема, показывающая варианты центровки текста в пределах поля надписи.
  • Выберите вариант форматирования по центру ( MiddleCenter ). Свойство TextAlign для всех выделенных надписей изменится на значение MiddleCenter.
  • Теперь измените свойство BorderStyle. Выберите его в списке и нажмите справу стрелку раскрывающегося списка. Появится список допустимых параметров этого свойства ( None, FixedSingle и Fixed3D ).
  • В этом списке выберите FixedSingle, чтобы добавить вокруг каждой надписи тонкую рамку.
  • Теперь измените шрифт для надписей, изменив параметры свойства Font. Выберите его в окне Properties (Свойства) , а затем нажмите справа кнопку многоточия (кнопка с тремя точками, которая расположена рядом с названием шрифта). Появится диалоговое окно Font (Шрифт), показанное ниже.

  • Измените шрифт на Times New Roman, стиль шрифта - на жирный , а его размер - на 24, а затем нажмите OK. Шрифт, стиль и размер текста на надписях изменятся на новые. Теперь удалите текст для этих трех надписей, чтобы при запуске программы эти поля были пустыми. Выбор шрифта для надписей сохранится, так как он является отдельным свойством. Чтобы это сделать, необходимо выбрать каждую из надписей по отдельности.
  • Щелкните на пустом листе формы, чтобы снять выделение с этих трех надписей, а затем выберите первую из них.
  • Дважды щелкните мышью на свойстве Text в окне Properties (Свойства), нажмите клавишу (Delete), а затем нажмите клавишу (Enter). Текст для объекта Label1 будет удален. Далее в этой лекции мы напишем код, чтобы приравнивать это свойство случайному числу "игрового автомата".
  • Удалите текст из второй и третьей надписей формы.
  • Дальше мы изменим свойства Text, Font и ForeColor для четвертой надписи.

    Установка свойств описательной надписи

  • Выберите объект четвертой надписи Label4.
  • В окне Properties (Свойства) измените свойство Text на "Счастливая семерка".
  • Щелкните на свойстве Font, а затем на кнопке многоточия.
  • В диалоговом окне Font (Шрифт) измените шрифт на Arial, стиль шрифта - на жирный и размер - на 18. Нажмите OK, при этом шрифт надписи обновится. Обратите внимание, что текст в ее поле перенесен на вторую строку. Это важная концепция: содержимое объекта должно полностью помещаться внутри этого объекта. Если оно не помещается, то содержимое переносится на следующую строку или обрезается.
  • Теперь измените цвет отображаемого текста. В окне Properties (Свойства) выберите ForeColor и во втором столбце нажмите стрелку раскрывающегося списка. Для установки цвета переднего плана (цвета текста) Visual Studio покажет список, содержащий закладки Custom (Польз.) (пользовательский), Web (Веб) и System (Система). На закладке Custom (Польз.) представлены некоторые из имеющихся в системе цветов. На закладке Web (Веб) перечислены цвета для веб-страниц с указанием их названий. На закладке System (Система) показаны текущие цвета, используемые для элементов графического интерфейса вашей системы. Этот список содержит текущие установки с закладки Appearance (Оформление) диалогового окна Display Properties (Свойства экрана).
  • Выберите пурпурный цвет на закладке Custom (Польз.). Цвет текста в поле надписи изменится на пурпурный.
  • Теперь давайте настроим свойства для последнего объекта.

    Свойства поля для изображения

    Объект для показа изображения будет содержать картинку с человеком, платящим игроку деньги при выигрыше (то есть когда в числовых надписях формы есть хотя бы одна семерка). Это оцифрованное изображение в формате JPEG из неопубликованного немецкого манускрипта XIV века. Чтобы задать размеры картинки, нужно изменить свойство SizeMode, а в свойстве Image следует указать имя JPEG-файла, который будет загружен в поле изображения. Следует также задать свойство Visible, которое определяет состояние изображения в начале работы программы.

    Установка свойств поля изображения

  • На поле формы щелкните на объекте поля изображения.
  • В окне Properties (Свойства) выберите свойство SizeMode, которое находится в категории Поведение. Нажмите на стрелке раскрывающегося списка и выберите StretchImage. Если для SizeMode выбрано значение StretchImage, то прежде чем показать файл изображения, Visual Studio изменит его размер так, чтобы оно в точности совпадало с размерами поля. (Обычно это свойство определяют раньше, чем свойство Image.)
  • В окне Properties (Свойства) выберите свойство Image, а затем щелкните на кнопке многоточия во втором столбце. Появится диалоговое окно Open (Открыть).
  • В этом окне перейдите в папку c:\vbnet03sbs\Гл.2. В списке появится цифровая фотография PayCoins.jpg.

  • В диалоговом окне выберите файл PayCoins.jpg и нажмите кнопку Open (Открыть). Фотография PayCoins будет загружена в поле изображения на форме. Так как фото относительно небольшое (24 Кб), в форме оно появится довольно быстро. Теперь нужно изменить свойство Visible на False, чтобы изображения не было видно при запуске программы. (Появление изображения будет запрограммировано позже в коде программы.)
  • В окне Properties (Свойства) в категории Behavior (Поведение) выберите свойство Visible. Щелкните на стрелке раскрывающегося списка Visible, появится список с допустимыми значениями свойства.
  • Чтобы сделать изображение невидимым при запуске программы, выберите False. Свойству Visible будет присвоено значение False, но оно влияет на поведение поля изображения только при выполнении программы, а не во время разработки. Готовая форма должна выглядеть примерно так, как показано на рисунке ниже.

  • Дважды щелкните мышью на строке заголовка окна Properties (Свойства) , чтобы вернуть его в его закрепленное положение.
  • Написание кода

    Теперь настало время написать код программы "Семерка". Большинство объектов, которые вы создали, уже "знают", как им надо работать, они готовы к приему действий от пользователя и их автоматической обработке. Встроенная функциональность объектов является одной из самых сильных сторон Visual Basic. Как только объекты размещены на форме и их свойства заданы - они готовы к запуску без дополнительного программирования. Однако основа игры "Семерка" в программе все еще отсутствует - это код, который вычисляет случайные значения, показывает их в соответствующих окнах и определяет выигрыш.. Эта вычислительная логика может быть встроена в приложение только с помощью программирования, добавления кода, который четко определяет, что программа должна делать на каждом шаге ее выполнения. Так как программой управляют кнопки Крутить и Выход, необходимо связать код игры именно с этими кнопками. Для ввода и редактирования операторов в программу на Visual Basic используется редактор кода.

    Таблицы значений свойств

    В этой лекции мы шаг за шагом задали свойства для программы "Семерка". В последующих лекциях инструкции для настройки свойств будут представлены в форме таблиц, за исключением случаев, когда их установка потребует особых действий. Вот свойства, которые вы задали для программы "Семерка", представленные в табличном формате. Так они будут выглядеть далее в этой книге.

    Объект Свойство Значение
    Button1 Text "Крутить"
    Button2 Text "Выход"
    Label1, Label2, Label3 BorderStyle Fixed Single
    Font Times New Roman, жирный, 24 пункта
    Text (пусто)
    TextAlign MiddleCenter
    Label4 Text "Счастливая семерка"
    Font Arial, жирный, 18 пунктов
    ForeColor Purple
    PictureBox1 Image "c:\vbnet03sbs\Гл.2\paycoins.jpg"
    SizeMode StretchImage
    Visible False

    Далее в редакторе кода мы введем текст программы "Семерка".

    Работа в Редакторе кода

  • В поле формы дважды щелкните мышью на кнопке Выход. В центральном окне среды разработки Visual Studio появится редактор кода, как показано на рисунке вверху следующей страницы.

    В окне редактора находится текст программы, связанный с текущей графической формой. Те выражения, которые вместе выполняют некоторое действие, обычно группируются в программные конструкции под названием, процедуры. Обычным типом процедуры является процедура Sub, ее также называют подпрограммой (subroutine). Процедуры Sub начинаются с ключевого слова Sub в первой строке и заканчиваются с End Sub. Процедуры обычно выполняются при определенных обстоятельствах, например по нажатию кнопки на графическом интерфейсе. Когда процедура ассоциирована с конкретным объектом и событием, она называется обработчиком события или процедурой события. Когда кнопка Выход (объект "Button2") была по двойному щелчку перенесена на поле формы, среда Visual Studio автоматически добавила первую и последнюю строки процедуры для обработки события кнопки Выход. Строки процедуры показаны ниже (первый оператор показан с переносом на следующую строку, чтобы не вылезти за поля книги). В редакторе кода видны и другие строки программы, которые среда Visual Studio добавила автоматически. Эти операторы находятся под общим заголовком "Код, автоматически созданный конструктором форм Windows". Пока что не обращайте на эти строки внимания и не изменяйте их.

    Private Sub Button2_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button2.Click
    
    End Sub

    Тело процедуры находится между этими строками и выполняется всегда, когда пользователь активизирует элемент интерфейса, ассоциированный с этой процедурой. В данном случае событие - это щелчок мышью по кнопке, но далее в этой книге вы увидите, что это может быть и другой тип события.

    Наберите End, а затем нажмите клавишу со стрелкой вниз. После того, как вы ввели оператор, буквы стали синими. Это значит, что Visual Basic распознал введенный текст как допустимое выражение - ключевое, или зарезервированное, слово программы.

    Выражение End используется для остановки программы и удаления с экрана ее формы. Язык программирования Visual Basic содержит несколько сотен зарезервированных слов и связанных с ними операторов и символов. При написании кода программы очень важно написать их правильно с учетом пробелов, иначе они не будут распознаваться компилятором Visual Basic. При вводе ключевых слов и любой другой правке редактор кода автоматически выполняет действия по форматированию текста, добавляет отступы, пробелы и необходимые скобки.

    Совет. Точное написание ключевых слов, их последовательность с учетом пробелов называется синтаксисом выражения.

    При нажатии на клавишу "стрелка вниз" и переходе на другую строку выражение End было размещено так, чтобы оно было отделено от выражений Private Sub и End Sub. Такая схема форматирования является общепринятой в программировании и предназначена для того, чтобы программы выглядели ясно и читаемо. Группа соглашений относительно того, как организуется код программы, часто называется стилем программирования.

    Теперь, когда код, связанный с кнопкой Выход, написан, необходимо написать код для кнопки Крутить. Эти выражения будут несколько сложнее и позволят больше узнать о стиле и синтаксисе программирования. Каждое из этих выражений будет рассмотрено подробнее далее в этой книге, так что сейчас не требуется знать о них все. Просто обратите внимание на общую структуру программы и вводите операторы программы точно так, как они напечатаны. Visual Basic очень чувствителен к правильному написанию и порядку следования ключевых слов.

  • Написание кода для кнопки "Крутить"

  • Чтобы снова увидеть графическую форму, в окне Solution Explorer (Обозреватель решений) нажмите кнопку View Designer (Просмотреть конструктор). Когда виден редактор кода, форма, с которой вы работаете, не видна. Ее можно снова вывести на экран с помощью кнопки View Designer (Просмотреть конструктор). Если в Solution Explorer (Обозревателе решений) загружено более одной формы, выберите ту из них, которая вам нужна.

    Совет. Чтобы снова показать окно с графической формой, можно выбрать закладку с текстом Form1.vb [Design] у верхнего края редактора кода. Если в верхней части редактора кода нет закладок, в диалоговом окне Options (Параметры) выберите свойство Tabbed Documents (Вкладки), как описано в лекции 1 .

  • Дважды щелкните мышью на кнопке Крутить. Через некоторое время появится редактор кода, и рядом с процедурой события Button2 появится процедура события, ассоциированная с кнопкой Button1. Хотя вы изменили текст этой кнопки на Крутить, ее имя в программе осталось Button1. (Имя и текст элемента интерфейса могут различаться, в зависимости от стоящих задач). Любой объект может иметь несколько ассоциированных с ним процедур, по одной для каждого распознаваемого события. Событие щелчок мышью интересует нас сейчас потому, что пользователи при работе с программой будут нажимать на кнопки Крутить и Выход.
  • Между строками Private Sub и End Sub введите следующие ниже строки программы, нажимая после каждой строки на Enter, делая отступы с помощью клавиши Tab и обращая внимание на правильность ввода конструкций языка, так, как они показаны здесь. (При вводе длинных строк редактор кода будет прокручивать экран.) Если вы сделаете ошибку (обычно ее можно определить по подчеркиванию волнистой линией), удалите неверную строку и введите ее снова.

    Совет. Когда вы вводите код программы, Visual Basic форматирует ее текст и отображает различные части программы различными цветами, которые помогают распознавать различные элементы. При вводе свойства Visual Basic покажет список, содержащий все допустимые свойства объекта, так что вы, вместо ввода свойства вручную можно просто выбрать его с помощью мыши. Если Visual Basic выводит сообщение об ошибке, то вы, скорее всего, ввели оператор с ошибкой. Сверьте строку с текстом в книге, сделайте необходимые исправления и продолжайте набирать дальше. (Можно удалить всю строку и начать вводить ее заново.) В дополнение к этому при необходимости Visual Basic может добавлять код автоматически. Например, когда вы будете вводить нижеследующий код, Visual Basic автоматически добавит строку End If.

    PictureBox1.Visible = False		' скрыть изображение
    Label1.Text = CStr(Int(Rnd() * 10))		' получить число
    Label2.Text = CStr(Int(Rnd() * 10))
    Label3.Text = CStr(Int(Rnd() * 10))
    ' если какой-либо из заголовков - это 7, то отобразить картинку и подать
    ' звуковой сигнал
    If (Label1.Text = "7") Or (Label2.Text = "7") _
    Or (Label3.Text = "7") Then
    PictureBox1.Visible = True
    Beep()
    End If

    После окончания окно редактора кода должно выглядеть так.

  • Чтобы сохранить дополнения к программе, в меню File (Файл) выберите команду Save All (Сохранить все) . Команда Save All (Сохранить все) сохраняет все файлы вашего проекта - сам файл проекта, файл с формой, все модули кода и все компоненты, связанные с вашим приложением. Если вы хотите сохранить только тот элемент, с которым работаете в настоящий момент (форму, модуль кода или что-либо еще), используйте команду Save (Сохранить) в меню File (Файл). Если необходимо сохранить текущий элемент с другим именем, используйте команду Save As (Сохранить как).
  • Подробнее о процедуре Button1_Click

    Процедура Button1_Click выполняется тогда, когда пользователь нажимает кнопку Крутить. Эта процедура содержит несколько сложных выражений и, поскольку мы их подробно не рассматривали, она может показаться немного странной. Однако если посмотреть на нее более внимательно, то можно заметить знакомые моменты. Более тщательное знакомство с процедурой даст вам представление о программном коде, который вы будете создавать в этой книге. (Если вы не хотите сейчас рассматривать подробнее этот код, то можете перейти к следующему разделу "Запуск приложения Visual Basic . NET".)

    Процедура Button1_Click выполняет три задачи: скрывает цифровое фото, генерирует три случайных числа для трех числовых надписей и, если появляется число "7", показывает фото. Давайте рассмотрим каждую из этих задач отдельно.

    Скрыть фотографию можно с помощью следующей команды:

    PictureBox1.Visible = False	' скрыть изображение

    Эта строка состоит из двух частей: программного оператора и комментария. Оператор программы ( PictureBox1.Visible = False ) задает свойство Visible объекта изображения ( PictureBox1 ) равным "False" (это одно из двух возможных значений). Возможно, вы помните, что только что установили это свойство равным "False" с помощью окна Properties (Свойства) . Сейчас вы снова делаете это в коде программы, так как прежде чем начать розыгрыш, нужно убрать фото, которое может остаться после предыдущего удачного розыгрыша. Так как это свойство будет изменено во время работы программы, а не во время разработки, то и задавать его значение нужно в коде программы. Это удобная возможность Visual Basic, и мы обсудим ее подробнее в лекции 3.

    Вторая часть этой первой строки называется комментарием (на экране она показана зеленым цветом). Комментарии - это пояснения, включаемые в программный код после апострофа ('). Программисты используют комментарии для описания операторов программы. Visual Basic при запуске программы не обрабатывает эти пояснения; они существуют только для документирования того, что делает программа. Мы будем часто использовать комментарии при написании программ на Visual Basic, чтобы оставить понятные записи о том, что сделано.

    Следующие три строки вычисляют случайные числа. Странное утверждение, не правда ли? Действительно, с помощью специальных действий можно заставить Visual Basic генерировать непредсказуемые числа - другими словами, можно находить случайные числа для лотерей, игры в кости или других статистических наборов. Функция Rnd в каждой строке возвращает случайное число в интервале между 0 и 1 (число с десятичной запятой и несколькими знаками после нее), а функция Int возвращает целую часть произведения этого случайного числа на 10. Это вычисление дает нам случайные числа в интервале между 0 и 9 - именно то, что нам требуется для нашего приложения игрового автомата.

    Label1.Text = CStr(Int(Rnd() * 10))	' получить число

    Затем необходимо выполнить в нашем коде одно обязательное действие - скопировать эти случайные числа в три поля надписей на форме, но прежде, чем это сделать, эти числа должны быть преобразованы в текст с помощью функции CStr (convert to string - преобразовать в текст). Обратите внимание, как CStr, Int и Rnd объединены вместе в одно выражение в программе - они работают совместно и дают результат аналогично математической формуле. После вычисления и преобразования эти значения присваиваются свойствам Text первых трех надписей формы. После присвоения числа становятся видны в этих надписях, написанные жирным шрифтом Times New Roman с размером 24 пункта. На следующей иллюстрации показано, как Visual Basic шаг за шагом обрабатывает строку кода, которая генерирует случайное число "7", и копирует его в объект надписи.

    Последняя группа операторов программы проверяет, не равняется ли одно из случайных чисел "7". Если одно или несколько из этих чисел равны "7", то программа показывает средневековое изображение выплаты денег, а звуковой сигнал провозглашает о победе.

    ' если какой-либо из заголовков - это 7, то отобразить картинку и подать
    ' звуковой сигнал
    If (Label1.Text = "7") Or (Label2.Text = "7") _
    Or (Label3.Text = "7") Then
    PictureBox1.Visible = True
    Beep()
    End If

    Каждый раз, когда пользователь нажмет на кнопке Крутить, будет вызвана процедура Button1_Click, и снова выполнены операторы программы, содержащиеся в этой процедуре. Готовая программа "Семерка" находится в папке c:\vbnetsbs\Гл.2\СемеркаОбразец.

    Запуск приложения Visual Basic .NET

    Поздравляем! Вы готовы запустить вашу первую настоящую программу. Чтобы запустить программу на Visual Basic из среды программирования, можно выбрать команду Start (Начать) в меню Debug (Отладка), нажать кнопку Start (Начать) на стандартной панели инструментов или клавишу (F5). Попробуйте запустить программу "Семерка". Если Visual Basic выводит сообщение об ошибке, то вы, вероятно, неправильно ввели какой-нибудь операторов в код программы. Попробуйте исправить их, сравнив то, что вы ввели, с напечатанной версией из этой книги, или загрузите программу "СемеркаОбразец" с жесткого диска и запустите ее.

    Запуск программы "Семерка"

  • Нажмите кнопку Start (Начать) на стандартной панели инструментов. Программа "Семерка" будет скомпилирована и запущена в среде программирования. Появится созданный вами графический интерфейс.
  • Нажмите кнопку Крутить. Программа найдет три случайных числа и покажет их в надписях на форме.

    Так как в первом поле надписи выпала "7", появляется цифровое фото, изображающее выплату денег, и компьютер издает звуковой сигнал. Вы выиграли! Звук, который вы услышите, зависит от установок в окне Sounds and Devises (Звуки и аудиоустройства) в панели управления Windows - чтобы сделать звук в этой игре интереснее, измените звук, установленный по умолчанию, на что-нибудь более динамичное.

  • Нажмите кнопку Крутить еще несколько раз, наблюдая за результатом "вращений" в числовых полях.

    Почти в половине ваших экспериментов вы будете выигрывать (реальные шансы - 2,8 раза из 10; просто вам поначалу везет). В дальнейшем можно будет усложнить игру, выводя цифровое фото только тогда, кода появятся две или три семерки, или подсчитывая текущую сумму выигрышей.

  • Когда вы закончите экспериментировать с вашим новым детищем, нажмите кнопку Выход. Программа остановится, и на экране снова появится среда программирования.

    Совет. Если вы снова запустите программу, то заметите, что "Семерка" показывает ту же самую последовательность случайных чисел. Здесь нет никакой ошибки - функция Rnd в Visual Basic спроектирована так, чтобы сначала отображать повторяющуюся последовательность чисел, чтобы программа выдавала одни и те же предсказуемые результаты в целях отладки. Чтобы создать истинно "случайные" числа, нужно использовать функцию Randomize, как показано в упражнении в конце этой лекции.

  • Создание исполняемого файла

    Последней задачей в этой лекции будет завершение процесса разработки и создание приложения для Windows, или исполняемого файла. Приложения для Windows, созданные в Visual Basic, имеют расширение .exe и могут выполняться на любом компьютере с Microsoft Windows и необходимыми файлами поддержки. Visual Basic устанавливает эти файлы, включая динамические библиотеки и файлы .NET Framework, автоматически.

    В данный момент вы должны знать, что у Visual Studio есть возможность создавать для вашего проекта два типа исполняемых файлов - отладочный и окончательный. В Visual Studio по умолчанию создаются отладочные версии, которыми мы будем пользоваться при тестировании и отладке программ. Отладочные версии содержат отладочную информацию, которая делает их медленнее, тем не менее, компилятор Visual Basic выполняет их сборку довольно быстро. А когда разработка программы завершена, можно скомпилировать приложение в варианте конечной сборки, которая включает различные оптимизации и не содержит ненужной отладочной информации.

    Совет. В Visual Basic .NET компиляция и распространение приложений осуществляется несколько иначе, чем в Visual Basic 6. Например, команда Make Project.exe из меню File (Файл) в Visual Basic 6 заменена командой Build Solution (Построить решение) в меню Build (Построение), а результатами компиляции и развертывания теперь являются сборки и манифесты.

    Теперь мы создадим окончательную версию Семерка.exe.

    Создание исполняемого файла

  • В меню Build (Построение) выберите команду Configuration Manager (Диспетчер конфигураций), появится соответствующее диалоговое окно. В этом окне можно переключаться между созданием отладочных и окончательных версий и задавать дополнительные параметры сборки программы, например целевую платформу, на которой будет работать приложение.
  • В списке Active Solution Configuration (Активная конфигурация решения) выберите Release (Окончательная версия), а затем нажмите кнопку Close (Закрыть).

    Теперь ваш проект будет скомпилирован и оптимизирован как окончательная версия.

    Совет. Выбрать отладочный или окончательный тип можно и на стандартной панели инструментов в соответствующем раскрывающемся списке.

  • В меню Build (Построение) выберите команду Build Solution (Построить решение). По этой команде в папке, где расположен ваш проект, будет создана подпапка с именем bin (если ее еще нет), и исходный код проекта будет скомпилирован. Результатом этого является исполняемый файл с именем Семерка.exe. Для экономии времени Visual Studio часто создает эти файлы во время разработки приложения; однако всегда, когда вы заканчиваете какой-либо важный промежуточный этап, следует перекомпилировать ваше приложение вручную с помощью команды Build Solution (Построить решение). В частности, приложение необходимо перекомпилировать, если вы переключаетесь с отладочного режима на окончательный.

    Давайте запустим эту программу с помощью команды Run (Выполнить) из меню Start (Пуск).

  • На панели задач Windows нажмите кнопку Start (Пуск) и выберите команду Run (Выполнить). Появится диалоговое окно Run (Запуск программы).
  • Нажмите кнопку Browse (Обзор), а затем перейдите в папку Гл.2\Семерка\bin.
  • Выберите значок приложения Семерка.exe, нажмите кнопку Open (Открыть), а затем OK.
  • Программа "Семерка" загрузится и запустится в операционной системе - вы запустили программу вне среды разработки Visual Studio.
  • Нажмите несколько раз кнопку Крутить, чтобы проверить работоспособность игры, а затем нажмите Выход.

    Совет. Скомпилированные программы Visual Basic, как и другие приложения для Windows, можно запустить, открыв Проводник Windows и дважды щелкнув мышью на их исполняемом файле. Чтобы создать на рабочем столе Windows ярлык для программы Семерка.exe, щелкните правой кнопкой мыши на рабочем столе Windows, выберите Создать, а затем Ярлык. При запросе о положении файла приложения нажмите Обзор и выберите исполняемый файл Семерка.exe. Затем нажмите кнопки ОK, Далее и Готово. На рабочем столе появится значок, который позволяет запустить программу двойным щелчком.

  • Чтобы закрыть Visual Studio и проект "Семерка", выберите в меню File (Файл) пункт Exit (Выход). Среда разработки Visual Studio закроется. Если вы в дальнейшем решите, что хотите сделать в этой программе дополнительные изменения (кроме тех, которые показаны далее), в Диспетчере конфигураций, доступном из меню Build (Построение), нужно будет переключить тип с окончательной версии на отладочную.
  • Следующий шаг: внесение дополнений в программу

    Вы в любое время можете перезапустить Visual Studio и работать с программным проектом, сохраненным на диске. Снова запустите Visual Studio и добавьте в программу "Семерка" специальный оператор с именем Randomize.

    Загрузка программы "Семерка"

  • На панели задач Windows щелкните на кнопке Пуск, выберите Все программы, затем Microsoft Visual Studio .NET 2003, затем нажмите значок программы Microsoft Visual Studio .NET 2003. На начальной странице Visual Studio появляется список недавно открывавшихся проектов. Так как мы только что закончили работать с проектом "Семерка", он должен быть первым в этом списке.
  • Чтобы открыть проект, нажмите на ссылке "Семерка". Программа будет загружена и появится графическая форма. Если формы не видно, в Solution Explorer (Обозревателе решений) выберите Form1.vb, а затем нажмите кнопку Просмотреть конструктор. Теперь вы должны добавить в процедуру Form_Load - специальную процедуру, которая ассоциирована с формой и исполняется каждый раз при запуске программы - оператор Randomize.
  • Чтобы перейти к тексту процедуры Form_Load, дважды щелкните мышью на форме (но не на одном из ее объектов). В редакторе кода появится процедура Form_Load, как показано на рисунке вверху следующей страницы.
  • Наберите слово Randomize, а затем нажмите на клавишу со стрелкой вниз. Оператор Randomize добавлен в программу и будет исполняться каждый раз при ее запуске. Чтобы создать истинно случайную начальную точку для функции Rnd в процедуре Button1_Click, в Randomize используются системные часы. Без оператора Randomize программа "Семерка" при каждом запуске генерирует одну и ту же последовательность случайных чисел. При использовании Randomize программа будет каждый раз выдавать новую последовательность, и числа не будут повторяться.

  • Запустите новую версию "Семерки", а затем сохраните проект. Если вы хотите использовать новую версию и дальше, можете создать для нее новый .exe-файл.
  • По окончанию работы в меню File (Файл) выберите Close Solution (Закрыть решение). Файлы, ассоциированные с программой "Семерка", будут закрыты.
  • Краткая справка по лекции 2

    Чтобы Сделайте следующее
    Создать интерфейс пользователя Для размещения объектов на форме используйте элементы управления из области элементов, а затем установите необходимые свойства этих объектов. Измените размеры формы и объектов на ней.
    Переместить объект Поместите мышь над объектом так, чтобы она приняла форму четырех стрелок, направленных в разные стороны, а затем перетащите этот объект.
    Изменить размер объекта Щелкните на объекте, чтобы его выбрать, а затем перетащите находящиеся по его сторонам манипуляторы изменения размера.
    Удалить объект Щелкните на объекте, а затем нажмите клавишу (Delete).
    Открыть Code Editor Двойным щелчком кнопкой мыши на объекте формы (или на самой форме) выберите форму или модуль в Solution Explorer (Обозреватель решений), а затем щелкните на кнопке View Code (Просмотреть код).
    Написать код программы Введите в редакторе кода операторы программы на Visual Basic, ассоциированные с объектом, который вы хотите запрограммировать.
    Сохранить программу В меню File (Файл) щелкните на команде Save All (Сохранить все) или на кнопке Save All (Сохранить все) стандартной панели инструментов.
    Сохранить файл формы Убедитесь, что форма открыта, а затем щелкните на команде Save (Сохранить) из меню File (Файл) или на кнопке Save (Сохранить) стандартной панели инструментов.
    Изменить тип билда с отладочной версии на окончательную В меню Build (Построение) щелкните на команде Configuration Manager (Менеджер конфигураций). В раскрывающемся списке Active Solution Configuration (Активная конфигурация решения) щелкните на типе билда, который вам нужен (Debug или Release) или выберите тип билда из раскрывающегося списка Solution Configurations (Конфигурация решения) на стандартной панели инструментов.
    Создать .exe-файл В меню Build (Построение) щелкните на команде Build Solution (Построить решение).
    Снова загрузить проект В меню File (Файл) укажите на Open (Открыть), а затем щелкните на команде Project (Проект) или в меню File (Файл) укажите на Recent Projects (Недавние проекты), а затем щелкните на требуемом проекте или щелкните на проекте в списке недавних проектов на стартовой странице Visual Studio.
    Страницы:

    В этой лекции вы узнаете, как:

  • создать пользовательский интерфейс для новой программы;
  • настроить свойства для каждого объекта пользовательского интерфейса;
  • создать код программы;
  • сохранить и запустить программу;
  • создать исполняемый файл.
  • В среде Microsoft Visual Studio .NET имеются мощные инструменты для запуска программ и работы с ними. В Visual Studio также содержится все необходимое для создания с нуля приложений для Microsoft Windows. В этой лекции вы узнаете, как создать простой, но привлекательный графический интерфейс с помощью элементов управления из области элементов Visual Studio. Затем вы узнаете, как настраивать поведение этих элементов управления, изменяя их свойства, и напишете код, который определит, что будет делать ваша программа. В конце лекции вы узнаете, как сохранить и запустить вашу программу (игорный автомат в стиле Лас-Вегаса), и как скомпилировать исполняемый файл.

    Что нового в Visual Basic .NET?

  • В среде разработки Visual Studio .NET частично изменились меню и панели инструментов, которые используются при создании программ. Например, в Visual Basic 6 имелись меню Format (Формат), Run (Запуск) и Add-Ins (Дополнительные модули), которые отсутствуют в Visual Studio. Большинство команд было перенесено в другие меню - например, команды меню Run (Запуск) вы найдете в меню Debug (Отладка).
  • Элемент управления CommandButton в Visual Studio .NET называется Button, и многие из его свойств и методов также изменились. Например, свойство Caption теперь называется Text.
  • Появились новые свойства и методы в элементе управления Label (надпись), старые также изменились. Например, у свойства TextAlign появились новые возможности по сравнению с его ранней версией - свойством Alignment.
  • Элемент управления Image удален из Visual Studio. Для вывода изображений теперь используется элемент управления PictureBox.
  • По сравнению с Visual Basic 6 в программах Visual Basic .NET стало больше кода, добавляемого автоматически. В частности, в верхней части каждой формы Visual Basic .NET добавляет блок кода, помеченный как "Код, автоматически созданный конструктором форм Windows". В этом блоке определяются важные характеристики формы, и он не должен изменяться (собственный код можно писать после этого блока кода.)
  • Visual Studio может создавать два типа исполняемых файлов вашего проекта - отладочную версию и окончательную (распространяемую) версию. Отладочные версии содержат отладочную информацию и используются при тестировании и отладке программы. Окончательные версии оптимизированы и имеют меньший размер, они создаются, когда разработка программы завершена.
  • "Семерка": ваша первая программа на Visual Basic

    Приложение для Windows, которое мы будем создавать в этой лекции, называется "Семерка" (Lucky Seven). Эта программа имитирует игровой автомат со "счастливыми" числами. У "Семерки" простой графический интерфейс, ее можно создать и скомпилировать в Visual Basic всего за несколько минут. Вот как будет выглядеть программа, когда вы ее закончите.

    Примечание. Готовую версию "Семерки" можно найти в папке c:\vbnet03sbs\Гл.2\СемеркаОбразец\bin..

    Шаги программирования

    Графический интерфейс "Семерки" имеет две кнопки, три поля для показа "счастливых" чисел, цифровую фотографию, символизирующую выигрыши, и текст "Счастливая семерка". Чтобы сконструировать этот интерфейс, нужно создать семь объектов на форме Семерка, а затем изменить некоторые свойства в каждом из них. Затем нужно добавить код программы для кнопок Крутить и Выход, который обрабатывает нажатия пользователя на этих кнопках и генерирует случайные числа. Чтобы создать эту программу с самого начала, необходимо выполнить в Visual Basic три основных шага по разработке программы: создать интерфейс пользователя, настроить свойства и написать код программы. В таблице описан этот процесс для "Семерки".

    Шаг программирования Число элементов
    Создать графический интерфейс пользователя 7 объектов
    Настроить свойства 12 свойств
    Написать код программы 2 объекта

    Создание пользовательского интерфейса

    В этом упражнении вы начнете работу над "Семеркой" с создания нового проекта, а затем с помощью элементов управления из области элементов соберете интерфейс пользователя.

    Создание нового проекта

  • Запустите Visual Studio.
  • На начальной странице Visual Studio нажмите кнопку New Project (Создать проект).

    Совет. Новый проект можно начать и в меню File (Файл), выбрав в нем New (Создать), а затем Project (Проект).

    Появится диалоговое окно New Project (Создать проект).

    В Visual Studio можно создавать не только стандартные приложения для Windows, но и веб-приложения, и компоненты операционной системы. В диалоговом окне New Project (Создать проект) можно указать тип программы или компонента, который необходимо создать, язык, который будет использоваться, имя проекта и расположение файлов.

  • Убедитесь, что в списке Project Types (Типы проектов) выбрана папка Visual Basic Projects (Проекты Visual Basic), а затем в окне Templates (Шаблоны) выберите Windows Application (Приложение для Windows). Visual Studio настроит среду разработки для программирования Windows-приложения на Visual Basic .NET.
  • В текстовом поле Name (Имя) введите Семерка, а затем в поле Location (Расположение) укажите путь для хранения файлов проекта. (Чтобы выбрать папку на диске, можно нажать кнопку Browse (Обзор)). Visual Studio присвоит вашей программе имя "Семерка" и создаст на жестком диске новую папку для проекта с таким именем.

  • Нажмите OK, после чего новый проект будет создан.

    Visual Studio показывает в центре экрана пустую графическую форму Windows (обычно имеющую название Form1), на основе которой можно создавать интерфейс для пользователей вашего приложения.

  • Теперь мы увеличим форму, а затем создадим на ней две кнопки.

    Создание пользовательского интерфейса

  • Наведите указатель мыши на правый нижний угол формы так, чтобы он принял форму стрелки для изменения размера. Потяните за этот угол, чтобы размер формы увеличился и места для объектов вашей программы стало достаточно. Если размер формы становится больше, чем окно, в котором она находится, в Windows Forms Designer (Конструкторе Windows Forms) появятся полосы прокрутки. Иными словами, в зависимости от разрешения экрана и открытых окон инструментов Visual Studio у вас может не хватить места для отображения всей формы целиком. Не беспокойтесь об этом - форма может быть маленькой или занимать весь экран, но с помощью полос прокрутки можно получить доступ к любой ее части. Задайте размер вашей формы. Он должен быть примерно равен размеру формы, показанной здесь.

    Чтобы увидеть всю форму без помех, вы можете изменить размер других окон инструментов, как описано в лекции 1, или закрыть их совсем. (Если у вас есть вопросы по изменению размера окон или инструментов, вернитесь к лекции 1.) Теперь давайте добавим на форму кнопки.

  • В области элементов выберите элемент управления Button.
  • Поместите указатель мыши над формой. Указатель мыши примет форму перекрестия со значком кнопки. Перекрестие появляется для того, чтобы было удобнее рисовать прямоугольник кнопки. Когда вы нажмете левую кнопку мыши и потянете ее в сторону, появится прямоугольное поле объекта, которое будет привязано к сетке, показанной точками. Теперь попробуйте создать вашу первую кнопку.
  • Переместите указатель мыши ближе к верхнему левому углу формы, нажмите левую кнопку мыши, а затем потащите ее вниз и вправо. Когда вы нарисуете кнопку, похожую на показанную здесь, остановите мышь и отпустите кнопку.

    На форме появится кнопка с маркерами изменения размера. Эта кнопка называется Button1, и это первая кнопка в программе. (Обратите внимание на название кнопки - вы увидите его снова при написании кода программы.)

  • Когда Visual Basic находится в режиме разработки (то есть тогда, когда активна среда программирования Visual Studio), кнопки можно передвигать по полю формы с помощью мыши и изменять их размер при помощи маркеров изменения размера. Однако когда программа запущена и выполняется, пользователь не сможет перемещать элементы интерфейса, если только эта возможность не задана в специальном свойстве. Давайте попрактикуемся в перемещении и изменении размера кнопки.

    Перемещение и изменение размера кнопки

  • Наведите указатель мыши на кнопку так, чтобы он принял форму четырех стрелок, направленных в разные стороны, а затем перетащите кнопку вниз и вправо. Когда вы отпустите кнопку мыши, кнопка привяжется к сетке, которая создана для того, чтобы помочь редактировать и размещать элементы графического интерфейса. Шаг сетки можно изменить, для этого нужно из меню Tools (Сервис) открыть окно Options (Параметры), в нем выбрать папку Конструктор Windows Forms и изменить свойство GridSize.
  • Поместите указатель мыши над нижним правым углом кнопки. Когда указатель мыши окажется над маркером изменения размера, он изменит вид и тогда размер объекта можно изменить.
  • Увеличьте кнопку, нажав левую кнопку мыши и перетащив ее указатель вниз и вправо. Когда вы отпустите кнопку мыши, объект на экране изменит свой размер и привяжется к сетке.
  • Наведите указатель мыши на маркер изменения размера и верните кнопку к ее прежнему виду, а затем передвиньте ее обратно в первоначальное положение на форме.
  • Теперь мы добавим на форму вторую кнопку, которая будет расположена ниже первой.

    Добавление второй кнопки

  • В области элементов выберите элемент управления Button.
  • На форме ниже первой кнопки нарисуйте новую кнопку. (Сделайте ее такого же размера.)

    Совет. Чтобы быстро добавить к форме новый элемент управления, дважды щелкните на нем мышью в области элементов, и новый объект с размерами по умолчанию будет добавлен на поле формы.

  • После того, как кнопка нарисована, передвиньте ее или измените размер, если это необходимо. Если вы сделали ошибку, то можете удалить кнопку и нарисовать ее еще раз.
  • Теперь добавьте надписи, которые используются в программе для показа чисел. Надпись - это специальный элемент графического интерфейса, предназначенный для показа при выполнении программы текста, чисел или символов. Когда пользователь программы нажимает кнопку Крутить, в полях надписей появляются три случайных числа. Если одно из чисел - "7", то пользователь выиграл.

    Добавление числовых надписей

  • В области элементов выберите элемент управления Label.
  • Поместите указатель мыши над формой. Указатель мыши примет форму перекрестия с буквой A.
  • Нарисуйте небольшой прямоугольник, как показано на следующей иллюстрации. Объект-надпись, который вы создали, называется Label1 и является первой надписью в программе. Создайте на форме еще две надписи с именами Label2 и Label3.

  • В области элементов выберите элемент управления Label, а затем нарисуйте область надписи справа от первой надписи. Сделайте новую надпись такого же размера, как и первую. На надписи появится текст Label2.
  • Снова выберите элемент управления Label и добавьте на форме третью надпись справа от второй. На ней появится текст Label3. Теперь нужно добавить надпись для описания. Это будет четвертая и последняя надпись в программе. В области элементов выберите элемент управления Label.
  • Нарисуйте большой прямоугольник прямо под двумя кнопками.

    Ваши надписи будут выглядеть примерно так, как показано на иллюстрации ниже. (Если надписи выглядят не вполне правильно, их размер можно изменить.)

  • Теперь добавьте на форму рамку для рисунка, чтобы показать графический приз, когда пользователь выбросит "7". Поле рисунка предназначено для показа в программе точечных изображений, значков, цифровых фотографий и других изображений. Обратите внимание, что в поле рисунка можно показывать файлы с изображениями в формате JPEG.

    Добавление изображения

  • В области элементов выберите элемент управления PictureBox.
  • Нарисуйте большой прямоугольник прямо под тремя надписями для цифр. В результате поле рисунка должна выглядеть так.

    Этот объект в программе будет называться PictureBox1, и это имя в дальнейшем используется при написании кода программы.

  • Теперь нужно настроить интерфейс, задав несколько свойств.

    Настройка свойств

    Чтобы изменить свойства, необходимо выбрать объект на форме и затем выбрать нужное свойство в окне Properties (Свойства). Начните с изменения свойств для двух кнопок.

    Настройка свойств кнопки

  • Щелкните на первой кнопке Button1. Кнопка будет выделена и окружена маркерами изменения размера.
  • Дважды щелкните мышью на строке заголовка в окне свойств.

    Совет. Если окно Properties (Свойства) скрыто, выберите из меню View (Вид) команду Properties Window (Окно Свойств) или нажмите клавишу (F4).

  • Измените размер окна Properties (Свойства) так, чтобы в нем было достаточно места для отображения имен свойств и их текущих значений. Когда вы освоитесь с настройкой свойств, то сможете работать с окном Properties (Свойства) без увеличения его размеров, но когда вы делаете это впервые, лучше сделать его побольше. На следующей иллюстрации окно Properties (Свойства) имеет подходящий размер для установки свойств.

    В окне содержится список настроек (свойств) первой кнопки. В них входят параметры для цвета фона, текста, высоты шрифта и ширины кнопки. Так как свойств очень много, Visual Studio организует их в категории и показывает в виде структуры. Если вы хотите увидеть свойства из какой-то категории, нажмите знак "плюс" (+) рядом с названием категории.

  • Прокрутите список окна Properties (Свойства) до тех пор, пока не увидите свойство Text, расположенное в категории Внешний вид.
  • Дважды щелкните мышью в левом столбце свойства Text. Текущее значение свойства Text ("Button1") будет выделено.
  • Наберите слово Крутить и нажмите клавишу (Enter). Свойство Text изменит значение на "Крутить", и этот же текст появится на самой кнопке на форме.

    Теперь давайте изменим свойство Text для второй кнопки так, чтобы там было написано "Выход", но выделим вторую кнопку новым способом.

  • В верхней части окна Properties (Свойства) раскройте список объектов. Появится список объектов интерфейса программы.

  • В этом списке выберите Button2 System.Windows.Forms.Button (это вторая кнопка). В окне Properties (Свойства) появятся значения свойств для второй кнопки, а Visual Studio выделит объект Button2 на форме.
  • Дважды щелкните мышью на свойстве Text (текущее значение "Button2"), наберите Выход, а затем нажмите клавишу (Enter). Текст на второй кнопке изменится на Выход.

    Совет. Использование раскрывающегося списка объектов - удобный способ переключения между объектами программы. Между объектами формы можно переключаться, просто щелкая на них мышью.

  • Теперь мы настроим свойства для надписей. Первые три надписи будут содержать случайные числа, сгенерированные программой, и их настройки будут одинаковы. (Мы настроим свойства сразу для всей группы.) Настройки надписи с описанием будут слегка отличаться.

    Настройка свойств надписей для чисел

  • Выберите первую надпись, предназначенную для чисел ( Label1 ), а затем, удерживая нажатой клавишу (Shift), щелкните на второй и третьей надписях. Если вам мешает окно Properties (Свойства), передвиньте его в другое место. Вокруг каждой из надписей, по которой вы щелкаете, появляются прямоугольники выделения и маркеры изменения размера. Выделите все три надписи и отпустите клавишу (Shift). Теперь нужно изменить свойства TextAlign, BorderStyle и Font так, чтобы числа, которые будут появляться в этих надписях, находились в центре, были обведены рамкой и показывались одним и тем же шрифтом одинакового размера. Все эти свойства перечислены в окне Properties (Свойства) в категории Внешний вид.

    Совет. Когда выделено более одного объекта, в окне Properties (Свойства) видны только те свойства, которые можно изменить для всей группы выделенных объектов.

  • В окне Properties (Свойства) выберите TextAlign, а затем нажмите справа на стрелку раскрывающегося списка. Появляется схема, показывающая варианты центровки текста в пределах поля надписи.
  • Выберите вариант форматирования по центру ( MiddleCenter ). Свойство TextAlign для всех выделенных надписей изменится на значение MiddleCenter.
  • Теперь измените свойство BorderStyle. Выберите его в списке и нажмите справу стрелку раскрывающегося списка. Появится список допустимых параметров этого свойства ( None, FixedSingle и Fixed3D ).
  • В этом списке выберите FixedSingle, чтобы добавить вокруг каждой надписи тонкую рамку.
  • Теперь измените шрифт для надписей, изменив параметры свойства Font. Выберите его в окне Properties (Свойства) , а затем нажмите справа кнопку многоточия (кнопка с тремя точками, которая расположена рядом с названием шрифта). Появится диалоговое окно Font (Шрифт), показанное ниже.

  • Измените шрифт на Times New Roman, стиль шрифта - на жирный , а его размер - на 24, а затем нажмите OK. Шрифт, стиль и размер текста на надписях изменятся на новые. Теперь удалите текст для этих трех надписей, чтобы при запуске программы эти поля были пустыми. Выбор шрифта для надписей сохранится, так как он является отдельным свойством. Чтобы это сделать, необходимо выбрать каждую из надписей по отдельности.
  • Щелкните на пустом листе формы, чтобы снять выделение с этих трех надписей, а затем выберите первую из них.
  • Дважды щелкните мышью на свойстве Text в окне Properties (Свойства), нажмите клавишу (Delete), а затем нажмите клавишу (Enter). Текст для объекта Label1 будет удален. Далее в этой лекции мы напишем код, чтобы приравнивать это свойство случайному числу "игрового автомата".
  • Удалите текст из второй и третьей надписей формы.
  • Дальше мы изменим свойства Text, Font и ForeColor для четвертой надписи.

    Установка свойств описательной надписи

  • Выберите объект четвертой надписи Label4.
  • В окне Properties (Свойства) измените свойство Text на "Счастливая семерка".
  • Щелкните на свойстве Font, а затем на кнопке многоточия.
  • В диалоговом окне Font (Шрифт) измените шрифт на Arial, стиль шрифта - на жирный и размер - на 18. Нажмите OK, при этом шрифт надписи обновится. Обратите внимание, что текст в ее поле перенесен на вторую строку. Это важная концепция: содержимое объекта должно полностью помещаться внутри этого объекта. Если оно не помещается, то содержимое переносится на следующую строку или обрезается.
  • Теперь измените цвет отображаемого текста. В окне Properties (Свойства) выберите ForeColor и во втором столбце нажмите стрелку раскрывающегося списка. Для установки цвета переднего плана (цвета текста) Visual Studio покажет список, содержащий закладки Custom (Польз.) (пользовательский), Web (Веб) и System (Система). На закладке Custom (Польз.) представлены некоторые из имеющихся в системе цветов. На закладке Web (Веб) перечислены цвета для веб-страниц с указанием их названий. На закладке System (Система) показаны текущие цвета, используемые для элементов графического интерфейса вашей системы. Этот список содержит текущие установки с закладки Appearance (Оформление) диалогового окна Display Properties (Свойства экрана).
  • Выберите пурпурный цвет на закладке Custom (Польз.). Цвет текста в поле надписи изменится на пурпурный.
  • Теперь давайте настроим свойства для последнего объекта.

    Свойства поля для изображения

    Объект для показа изображения будет содержать картинку с человеком, платящим игроку деньги при выигрыше (то есть когда в числовых надписях формы есть хотя бы одна семерка). Это оцифрованное изображение в формате JPEG из неопубликованного немецкого манускрипта XIV века. Чтобы задать размеры картинки, нужно изменить свойство SizeMode, а в свойстве Image следует указать имя JPEG-файла, который будет загружен в поле изображения. Следует также задать свойство Visible, которое определяет состояние изображения в начале работы программы.

    Установка свойств поля изображения

  • На поле формы щелкните на объекте поля изображения.
  • В окне Properties (Свойства) выберите свойство SizeMode, которое находится в категории Поведение. Нажмите на стрелке раскрывающегося списка и выберите StretchImage. Если для SizeMode выбрано значение StretchImage, то прежде чем показать файл изображения, Visual Studio изменит его размер так, чтобы оно в точности совпадало с размерами поля. (Обычно это свойство определяют раньше, чем свойство Image.)
  • В окне Properties (Свойства) выберите свойство Image, а затем щелкните на кнопке многоточия во втором столбце. Появится диалоговое окно Open (Открыть).
  • В этом окне перейдите в папку c:\vbnet03sbs\Гл.2. В списке появится цифровая фотография PayCoins.jpg.

  • В диалоговом окне выберите файл PayCoins.jpg и нажмите кнопку Open (Открыть). Фотография PayCoins будет загружена в поле изображения на форме. Так как фото относительно небольшое (24 Кб), в форме оно появится довольно быстро. Теперь нужно изменить свойство Visible на False, чтобы изображения не было видно при запуске программы. (Появление изображения будет запрограммировано позже в коде программы.)
  • В окне Properties (Свойства) в категории Behavior (Поведение) выберите свойство Visible. Щелкните на стрелке раскрывающегося списка Visible, появится список с допустимыми значениями свойства.
  • Чтобы сделать изображение невидимым при запуске программы, выберите False. Свойству Visible будет присвоено значение False, но оно влияет на поведение поля изображения только при выполнении программы, а не во время разработки. Готовая форма должна выглядеть примерно так, как показано на рисунке ниже.

  • Дважды щелкните мышью на строке заголовка окна Properties (Свойства) , чтобы вернуть его в его закрепленное положение.
  • Написание кода

    Теперь настало время написать код программы "Семерка". Большинство объектов, которые вы создали, уже "знают", как им надо работать, они готовы к приему действий от пользователя и их автоматической обработке. Встроенная функциональность объектов является одной из самых сильных сторон Visual Basic. Как только объекты размещены на форме и их свойства заданы - они готовы к запуску без дополнительного программирования. Однако основа игры "Семерка" в программе все еще отсутствует - это код, который вычисляет случайные значения, показывает их в соответствующих окнах и определяет выигрыш.. Эта вычислительная логика может быть встроена в приложение только с помощью программирования, добавления кода, который четко определяет, что программа должна делать на каждом шаге ее выполнения. Так как программой управляют кнопки Крутить и Выход, необходимо связать код игры именно с этими кнопками. Для ввода и редактирования операторов в программу на Visual Basic используется редактор кода.

    Таблицы значений свойств

    В этой лекции мы шаг за шагом задали свойства для программы "Семерка". В последующих лекциях инструкции для настройки свойств будут представлены в форме таблиц, за исключением случаев, когда их установка потребует особых действий. Вот свойства, которые вы задали для программы "Семерка", представленные в табличном формате. Так они будут выглядеть далее в этой книге.

    Объект Свойство Значение
    Button1 Text "Крутить"
    Button2 Text "Выход"
    Label1, Label2, Label3 BorderStyle Fixed Single
    Font Times New Roman, жирный, 24 пункта
    Text (пусто)
    TextAlign MiddleCenter
    Label4 Text "Счастливая семерка"
    Font Arial, жирный, 18 пунктов
    ForeColor Purple
    PictureBox1 Image "c:\vbnet03sbs\Гл.2\paycoins.jpg"
    SizeMode StretchImage
    Visible False

    Далее в редакторе кода мы введем текст программы "Семерка".

    Работа в Редакторе кода

  • В поле формы дважды щелкните мышью на кнопке Выход. В центральном окне среды разработки Visual Studio появится редактор кода, как показано на рисунке вверху следующей страницы.

    В окне редактора находится текст программы, связанный с текущей графической формой. Те выражения, которые вместе выполняют некоторое действие, обычно группируются в программные конструкции под названием, процедуры. Обычным типом процедуры является процедура Sub, ее также называют подпрограммой (subroutine). Процедуры Sub начинаются с ключевого слова Sub в первой строке и заканчиваются с End Sub. Процедуры обычно выполняются при определенных обстоятельствах, например по нажатию кнопки на графическом интерфейсе. Когда процедура ассоциирована с конкретным объектом и событием, она называется обработчиком события или процедурой события. Когда кнопка Выход (объект "Button2") была по двойному щелчку перенесена на поле формы, среда Visual Studio автоматически добавила первую и последнюю строки процедуры для обработки события кнопки Выход. Строки процедуры показаны ниже (первый оператор показан с переносом на следующую строку, чтобы не вылезти за поля книги). В редакторе кода видны и другие строки программы, которые среда Visual Studio добавила автоматически. Эти операторы находятся под общим заголовком "Код, автоматически созданный конструктором форм Windows". Пока что не обращайте на эти строки внимания и не изменяйте их.

    Private Sub Button2_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Button2.Click
    
    End Sub

    Тело процедуры находится между этими строками и выполняется всегда, когда пользователь активизирует элемент интерфейса, ассоциированный с этой процедурой. В данном случае событие - это щелчок мышью по кнопке, но далее в этой книге вы увидите, что это может быть и другой тип события.

    Наберите End, а затем нажмите клавишу со стрелкой вниз. После того, как вы ввели оператор, буквы стали синими. Это значит, что Visual Basic распознал введенный текст как допустимое выражение - ключевое, или зарезервированное, слово программы.

    Выражение End используется для остановки программы и удаления с экрана ее формы. Язык программирования Visual Basic содержит несколько сотен зарезервированных слов и связанных с ними операторов и символов. При написании кода программы очень важно написать их правильно с учетом пробелов, иначе они не будут распознаваться компилятором Visual Basic. При вводе ключевых слов и любой другой правке редактор кода автоматически выполняет действия по форматированию текста, добавляет отступы, пробелы и необходимые скобки.

    Совет. Точное написание ключевых слов, их последовательность с учетом пробелов называется синтаксисом выражения.

    При нажатии на клавишу "стрелка вниз" и переходе на другую строку выражение End было размещено так, чтобы оно было отделено от выражений Private Sub и End Sub. Такая схема форматирования является общепринятой в программировании и предназначена для того, чтобы программы выглядели ясно и читаемо. Группа соглашений относительно того, как организуется код программы, часто называется стилем программирования.

    Теперь, когда код, связанный с кнопкой Выход, написан, необходимо написать код для кнопки Крутить. Эти выражения будут несколько сложнее и позволят больше узнать о стиле и синтаксисе программирования. Каждое из этих выражений будет рассмотрено подробнее далее в этой книге, так что сейчас не требуется знать о них все. Просто обратите внимание на общую структуру программы и вводите операторы программы точно так, как они напечатаны. Visual Basic очень чувствителен к правильному написанию и порядку следования ключевых слов.

  • Написание кода для кнопки "Крутить"

  • Чтобы снова увидеть графическую форму, в окне Solution Explorer (Обозреватель решений) нажмите кнопку View Designer (Просмотреть конструктор). Когда виден редактор кода, форма, с которой вы работаете, не видна. Ее можно снова вывести на экран с помощью кнопки View Designer (Просмотреть конструктор). Если в Solution Explorer (Обозревателе решений) загружено более одной формы, выберите ту из них, которая вам нужна.

    Совет. Чтобы снова показать окно с графической формой, можно выбрать закладку с текстом Form1.vb [Design] у верхнего края редактора кода. Если в верхней части редактора кода нет закладок, в диалоговом окне Options (Параметры) выберите свойство Tabbed Documents (Вкладки), как описано в лекции 1 .

  • Дважды щелкните мышью на кнопке Крутить. Через некоторое время появится редактор кода, и рядом с процедурой события Button2 появится процедура события, ассоциированная с кнопкой Button1. Хотя вы изменили текст этой кнопки на Крутить, ее имя в программе осталось Button1. (Имя и текст элемента интерфейса могут различаться, в зависимости от стоящих задач). Любой объект может иметь несколько ассоциированных с ним процедур, по одной для каждого распознаваемого события. Событие щелчок мышью интересует нас сейчас потому, что пользователи при работе с программой будут нажимать на кнопки Крутить и Выход.
  • Между строками Private Sub и End Sub введите следующие ниже строки программы, нажимая после каждой строки на Enter, делая отступы с помощью клавиши Tab и обращая внимание на правильность ввода конструкций языка, так, как они показаны здесь. (При вводе длинных строк редактор кода будет прокручивать экран.) Если вы сделаете ошибку (обычно ее можно определить по подчеркиванию волнистой линией), удалите неверную строку и введите ее снова.

    Совет. Когда вы вводите код программы, Visual Basic форматирует ее текст и отображает различные части программы различными цветами, которые помогают распознавать различные элементы. При вводе свойства Visual Basic покажет список, содержащий все допустимые свойства объекта, так что вы, вместо ввода свойства вручную можно просто выбрать его с помощью мыши. Если Visual Basic выводит сообщение об ошибке, то вы, скорее всего, ввели оператор с ошибкой. Сверьте строку с текстом в книге, сделайте необходимые исправления и продолжайте набирать дальше. (Можно удалить всю строку и начать вводить ее заново.) В дополнение к этому при необходимости Visual Basic может добавлять код автоматически. Например, когда вы будете вводить нижеследующий код, Visual Basic автоматически добавит строку End If.

    PictureBox1.Visible = False		' скрыть изображение
    Label1.Text = CStr(Int(Rnd() * 10))		' получить число
    Label2.Text = CStr(Int(Rnd() * 10))
    Label3.Text = CStr(Int(Rnd() * 10))
    ' если какой-либо из заголовков - это 7, то отобразить картинку и подать
    ' звуковой сигнал
    If (Label1.Text = "7") Or (Label2.Text = "7") _
    Or (Label3.Text = "7") Then
    PictureBox1.Visible = True
    Beep()
    End If

    После окончания окно редактора кода должно выглядеть так.

  • Чтобы сохранить дополнения к программе, в меню File (Файл) выберите команду Save All (Сохранить все) . Команда Save All (Сохранить все) сохраняет все файлы вашего проекта - сам файл проекта, файл с формой, все модули кода и все компоненты, связанные с вашим приложением. Если вы хотите сохранить только тот элемент, с которым работаете в настоящий момент (форму, модуль кода или что-либо еще), используйте команду Save (Сохранить) в меню File (Файл). Если необходимо сохранить текущий элемент с другим именем, используйте команду Save As (Сохранить как).
  • Подробнее о процедуре Button1_Click

    Процедура Button1_Click выполняется тогда, когда пользователь нажимает кнопку Крутить. Эта процедура содержит несколько сложных выражений и, поскольку мы их подробно не рассматривали, она может показаться немного странной. Однако если посмотреть на нее более внимательно, то можно заметить знакомые моменты. Более тщательное знакомство с процедурой даст вам представление о программном коде, который вы будете создавать в этой книге. (Если вы не хотите сейчас рассматривать подробнее этот код, то можете перейти к следующему разделу "Запуск приложения Visual Basic . NET".)

    Процедура Button1_Click выполняет три задачи: скрывает цифровое фото, генерирует три случайных числа для трех числовых надписей и, если появляется число "7", показывает фото. Давайте рассмотрим каждую из этих задач отдельно.

    Скрыть фотографию можно с помощью следующей команды:

    PictureBox1.Visible = False	' скрыть изображение

    Эта строка состоит из двух частей: программного оператора и комментария. Оператор программы ( PictureBox1.Visible = False ) задает свойство Visible объекта изображения ( PictureBox1 ) равным "False" (это одно из двух возможных значений). Возможно, вы помните, что только что установили это свойство равным "False" с помощью окна Properties (Свойства) . Сейчас вы снова делаете это в коде программы, так как прежде чем начать розыгрыш, нужно убрать фото, которое может остаться после предыдущего удачного розыгрыша. Так как это свойство будет изменено во время работы программы, а не во время разработки, то и задавать его значение нужно в коде программы. Это удобная возможность Visual Basic, и мы обсудим ее подробнее в лекции 3.

    Вторая часть этой первой строки называется комментарием (на экране она показана зеленым цветом). Комментарии - это пояснения, включаемые в программный код после апострофа ('). Программисты используют комментарии для описания операторов программы. Visual Basic при запуске программы не обрабатывает эти пояснения; они существуют только для документирования того, что делает программа. Мы будем часто использовать комментарии при написании программ на Visual Basic, чтобы оставить понятные записи о том, что сделано.

    Следующие три строки вычисляют случайные числа. Странное утверждение, не правда ли? Действительно, с помощью специальных действий можно заставить Visual Basic генерировать непредсказуемые числа - другими словами, можно находить случайные числа для лотерей, игры в кости или других статистических наборов. Функция Rnd в каждой строке возвращает случайное число в интервале между 0 и 1 (число с десятичной запятой и несколькими знаками после нее), а функция Int возвращает целую часть произведения этого случайного числа на 10. Это вычисление дает нам случайные числа в интервале между 0 и 9 - именно то, что нам требуется для нашего приложения игрового автомата.

    Label1.Text = CStr(Int(Rnd() * 10))	' получить число

    Затем необходимо выполнить в нашем коде одно обязательное действие - скопировать эти случайные числа в три поля надписей на форме, но прежде, чем это сделать, эти числа должны быть преобразованы в текст с помощью функции CStr (convert to string - преобразовать в текст). Обратите внимание, как CStr, Int и Rnd объединены вместе в одно выражение в программе - они работают совместно и дают результат аналогично математической формуле. После вычисления и преобразования эти значения присваиваются свойствам Text первых трех надписей формы. После присвоения числа становятся видны в этих надписях, написанные жирным шрифтом Times New Roman с размером 24 пункта. На следующей иллюстрации показано, как Visual Basic шаг за шагом обрабатывает строку кода, которая генерирует случайное число "7", и копирует его в объект надписи.

    Последняя группа операторов программы проверяет, не равняется ли одно из случайных чисел "7". Если одно или несколько из этих чисел равны "7", то программа показывает средневековое изображение выплаты денег, а звуковой сигнал провозглашает о победе.

    ' если какой-либо из заголовков - это 7, то отобразить картинку и подать
    ' звуковой сигнал
    If (Label1.Text = "7") Or (Label2.Text = "7") _
    Or (Label3.Text = "7") Then
    PictureBox1.Visible = True
    Beep()
    End If

    Каждый раз, когда пользователь нажмет на кнопке Крутить, будет вызвана процедура Button1_Click, и снова выполнены операторы программы, содержащиеся в этой процедуре. Готовая программа "Семерка" находится в папке c:\vbnetsbs\Гл.2\СемеркаОбразец.

    Запуск приложения Visual Basic .NET

    Поздравляем! Вы готовы запустить вашу первую настоящую программу. Чтобы запустить программу на Visual Basic из среды программирования, можно выбрать команду Start (Начать) в меню Debug (Отладка), нажать кнопку Start (Начать) на стандартной панели инструментов или клавишу (F5). Попробуйте запустить программу "Семерка". Если Visual Basic выводит сообщение об ошибке, то вы, вероятно, неправильно ввели какой-нибудь операторов в код программы. Попробуйте исправить их, сравнив то, что вы ввели, с напечатанной версией из этой книги, или загрузите программу "СемеркаОбразец" с жесткого диска и запустите ее.

    Запуск программы "Семерка"

  • Нажмите кнопку Start (Начать) на стандартной панели инструментов. Программа "Семерка" будет скомпилирована и запущена в среде программирования. Появится созданный вами графический интерфейс.
  • Нажмите кнопку Крутить. Программа найдет три случайных числа и покажет их в надписях на форме.

    Так как в первом поле надписи выпала "7", появляется цифровое фото, изображающее выплату денег, и компьютер издает звуковой сигнал. Вы выиграли! Звук, который вы услышите, зависит от установок в окне Sounds and Devises (Звуки и аудиоустройства) в панели управления Windows - чтобы сделать звук в этой игре интереснее, измените звук, установленный по умолчанию, на что-нибудь более динамичное.

  • Нажмите кнопку Крутить еще несколько раз, наблюдая за результатом "вращений" в числовых полях.

    Почти в половине ваших экспериментов вы будете выигрывать (реальные шансы - 2,8 раза из 10; просто вам поначалу везет). В дальнейшем можно будет усложнить игру, выводя цифровое фото только тогда, кода появятся две или три семерки, или подсчитывая текущую сумму выигрышей.

  • Когда вы закончите экспериментировать с вашим новым детищем, нажмите кнопку Выход. Программа остановится, и на экране снова появится среда программирования.

    Совет. Если вы снова запустите программу, то заметите, что "Семерка" показывает ту же самую последовательность случайных чисел. Здесь нет никакой ошибки - функция Rnd в Visual Basic спроектирована так, чтобы сначала отображать повторяющуюся последовательность чисел, чтобы программа выдавала одни и те же предсказуемые результаты в целях отладки. Чтобы создать истинно "случайные" числа, нужно использовать функцию Randomize, как показано в упражнении в конце этой лекции.

  • Создание исполняемого файла

    Последней задачей в этой лекции будет завершение процесса разработки и создание приложения для Windows, или исполняемого файла. Приложения для Windows, созданные в Visual Basic, имеют расширение .exe и могут выполняться на любом компьютере с Microsoft Windows и необходимыми файлами поддержки. Visual Basic устанавливает эти файлы, включая динамические библиотеки и файлы .NET Framework, автоматически.

    В данный момент вы должны знать, что у Visual Studio есть возможность создавать для вашего проекта два типа исполняемых файлов - отладочный и окончательный. В Visual Studio по умолчанию создаются отладочные версии, которыми мы будем пользоваться при тестировании и отладке программ. Отладочные версии содержат отладочную информацию, которая делает их медленнее, тем не менее, компилятор Visual Basic выполняет их сборку довольно быстро. А когда разработка программы завершена, можно скомпилировать приложение в варианте конечной сборки, которая включает различные оптимизации и не содержит ненужной отладочной информации.

    Совет. В Visual Basic .NET компиляция и распространение приложений осуществляется несколько иначе, чем в Visual Basic 6. Например, команда Make Project.exe из меню File (Файл) в Visual Basic 6 заменена командой Build Solution (Построить решение) в меню Build (Построение), а результатами компиляции и развертывания теперь являются сборки и манифесты.

    Теперь мы создадим окончательную версию Семерка.exe.

    Создание исполняемого файла

  • В меню Build (Построение) выберите команду Configuration Manager (Диспетчер конфигураций), появится соответствующее диалоговое окно. В этом окне можно переключаться между созданием отладочных и окончательных версий и задавать дополнительные параметры сборки программы, например целевую платформу, на которой будет работать приложение.
  • В списке Active Solution Configuration (Активная конфигурация решения) выберите Release (Окончательная версия), а затем нажмите кнопку Close (Закрыть).

    Теперь ваш проект будет скомпилирован и оптимизирован как окончательная версия.

    Совет. Выбрать отладочный или окончательный тип можно и на стандартной панели инструментов в соответствующем раскрывающемся списке.

  • В меню Build (Построение) выберите команду Build Solution (Построить решение). По этой команде в папке, где расположен ваш проект, будет создана подпапка с именем bin (если ее еще нет), и исходный код проекта будет скомпилирован. Результатом этого является исполняемый файл с именем Семерка.exe. Для экономии времени Visual Studio часто создает эти файлы во время разработки приложения; однако всегда, когда вы заканчиваете какой-либо важный промежуточный этап, следует перекомпилировать ваше приложение вручную с помощью команды Build Solution (Построить решение). В частности, приложение необходимо перекомпилировать, если вы переключаетесь с отладочного режима на окончательный.

    Давайте запустим эту программу с помощью команды Run (Выполнить) из меню Start (Пуск).

  • На панели задач Windows нажмите кнопку Start (Пуск) и выберите команду Run (Выполнить). Появится диалоговое окно Run (Запуск программы).
  • Нажмите кнопку Browse (Обзор), а затем перейдите в папку Гл.2\Семерка\bin.
  • Выберите значок приложения Семерка.exe, нажмите кнопку Open (Открыть), а затем OK.
  • Программа "Семерка" загрузится и запустится в операционной системе - вы запустили программу вне среды разработки Visual Studio.
  • Нажмите несколько раз кнопку Крутить, чтобы проверить работоспособность игры, а затем нажмите Выход.

    Совет. Скомпилированные программы Visual Basic, как и другие приложения для Windows, можно запустить, открыв Проводник Windows и дважды щелкнув мышью на их исполняемом файле. Чтобы создать на рабочем столе Windows ярлык для программы Семерка.exe, щелкните правой кнопкой мыши на рабочем столе Windows, выберите Создать, а затем Ярлык. При запросе о положении файла приложения нажмите Обзор и выберите исполняемый файл Семерка.exe. Затем нажмите кнопки ОK, Далее и Готово. На рабочем столе появится значок, который позволяет запустить программу двойным щелчком.

  • Чтобы закрыть Visual Studio и проект "Семерка", выберите в меню File (Файл) пункт Exit (Выход). Среда разработки Visual Studio закроется. Если вы в дальнейшем решите, что хотите сделать в этой программе дополнительные изменения (кроме тех, которые показаны далее), в Диспетчере конфигураций, доступном из меню Build (Построение), нужно будет переключить тип с окончательной версии на отладочную.
  • Следующий шаг: внесение дополнений в программу

    Вы в любое время можете перезапустить Visual Studio и работать с программным проектом, сохраненным на диске. Снова запустите Visual Studio и добавьте в программу "Семерка" специальный оператор с именем Randomize.

    Загрузка программы "Семерка"

  • На панели задач Windows щелкните на кнопке Пуск, выберите Все программы, затем Microsoft Visual Studio .NET 2003, затем нажмите значок программы Microsoft Visual Studio .NET 2003. На начальной странице Visual Studio появляется список недавно открывавшихся проектов. Так как мы только что закончили работать с проектом "Семерка", он должен быть первым в этом списке.
  • Чтобы открыть проект, нажмите на ссылке "Семерка". Программа будет загружена и появится графическая форма. Если формы не видно, в Solution Explorer (Обозревателе решений) выберите Form1.vb, а затем нажмите кнопку Просмотреть конструктор. Теперь вы должны добавить в процедуру Form_Load - специальную процедуру, которая ассоциирована с формой и исполняется каждый раз при запуске программы - оператор Randomize.
  • Чтобы перейти к тексту процедуры Form_Load, дважды щелкните мышью на форме (но не на одном из ее объектов). В редакторе кода появится процедура Form_Load, как показано на рисунке вверху следующей страницы.
  • Наберите слово Randomize, а затем нажмите на клавишу со стрелкой вниз. Оператор Randomize добавлен в программу и будет исполняться каждый раз при ее запуске. Чтобы создать истинно случайную начальную точку для функции Rnd в процедуре Button1_Click, в Randomize используются системные часы. Без оператора Randomize программа "Семерка" при каждом запуске генерирует одну и ту же последовательность случайных чисел. При использовании Randomize программа будет каждый раз выдавать новую последовательность, и числа не будут повторяться.

  • Запустите новую версию "Семерки", а затем сохраните проект. Если вы хотите использовать новую версию и дальше, можете создать для нее новый .exe-файл.
  • По окончанию работы в меню File (Файл) выберите Close Solution (Закрыть решение). Файлы, ассоциированные с программой "Семерка", будут закрыты.
  • Краткая справка по лекции 2

    Чтобы Сделайте следующее
    Создать интерфейс пользователя Для размещения объектов на форме используйте элементы управления из области элементов, а затем установите необходимые свойства этих объектов. Измените размеры формы и объектов на ней.
    Переместить объект Поместите мышь над объектом так, чтобы она приняла форму четырех стрелок, направленных в разные стороны, а затем перетащите этот объект.
    Изменить размер объекта Щелкните на объекте, чтобы его выбрать, а затем перетащите находящиеся по его сторонам манипуляторы изменения размера.
    Удалить объект Щелкните на объекте, а затем нажмите клавишу (Delete).
    Открыть Code Editor Двойным щелчком кнопкой мыши на объекте формы (или на самой форме) выберите форму или модуль в Solution Explorer (Обозреватель решений), а затем щелкните на кнопке View Code (Просмотреть код).
    Написать код программы Введите в редакторе кода операторы программы на Visual Basic, ассоциированные с объектом, который вы хотите запрограммировать.
    Сохранить программу В меню File (Файл) щелкните на команде Save All (Сохранить все) или на кнопке Save All (Сохранить все) стандартной панели инструментов.
    Сохранить файл формы Убедитесь, что форма открыта, а затем щелкните на команде Save (Сохранить) из меню File (Файл) или на кнопке Save (Сохранить) стандартной панели инструментов.
    Изменить тип билда с отладочной версии на окончательную В меню Build (Построение) щелкните на команде Configuration Manager (Менеджер конфигураций). В раскрывающемся списке Active Solution Configuration (Активная конфигурация решения) щелкните на типе билда, который вам нужен (Debug или Release) или выберите тип билда из раскрывающегося списка Solution Configurations (Конфигурация решения) на стандартной панели инструментов.
    Создать .exe-файл В меню Build (Построение) щелкните на команде Build Solution (Построить решение).
    Снова загрузить проект В меню File (Файл) укажите на Open (Открыть), а затем щелкните на команде Project (Проект) или в меню File (Файл) укажите на Recent Projects (Недавние проекты), а затем щелкните на требуемом проекте или щелкните на проекте в списке недавних проектов на стартовой странице Visual Studio.
    Вернуться к учебному плану