|
@@ -0,0 +1,291 @@
|
|
|
+# Введение
|
|
|
+
|
|
|
+Microsoft Visual Studio – это комплект программ, который включает в
|
|
|
+себя интегрированную среду разработки, редактор кода и компилятор.
|
|
|
+Visual Studio облегчает написание, а также тестирование и отладку
|
|
|
+программного кода. В этой среде можно создавать программы на многих
|
|
|
+языках программирования: C#, C++, Visual Basic, Python, JavaScript, F# и
|
|
|
+так далее.
|
|
|
+
|
|
|
+# Установка
|
|
|
+
|
|
|
+Среду Visual Studio можно установить на официальном сайте Microsoft.
|
|
|
+https://visualstudio.microsoft.com/ru/downloads/
|
|
|
+На выбор даются три версии: Community, Professional и Enterprise. Первый
|
|
|
+вариант дается бесплатно, а остальные два предлагают пробный период
|
|
|
+использования средой, по окончании которого вам придется ввести ключ
|
|
|
+продукта. После выбора той или иной версии начнется скачивание
|
|
|
+программы «Visual Studio Installer». В этой программе можно установить,
|
|
|
+запустить или обновить не только саму среду Visual Studio, но и установить
|
|
|
+или удалить дополнительные компоненты.
|
|
|
+
|
|
|
+Вот список некоторых рабочих нагрузок и их предназначений.
|
|
|
+
|
|
|
+|Разработка классических приложений .NET|Разработка с помощью .NET
|
|
|
+Multi-Platform App UI|Разработка классических приложений на
|
|
|
+C++|Разработка мобильных приложений на языке C++|Разработка игр с
|
|
|
+помощью Unity|Разработка игр на С++| |Создание консольных приложений,
|
|
|
+приложений WPF и Windows Forms на языке C# на оболочках .NET и .NET
|
|
|
+Framework|Создание мобильных приложений под Android и iOS на языке C#
|
|
|
+на оболочке Xamarin|Создание приложений на C++ под операционную систему
|
|
|
+Windows|Создание мобильные приложения на языке C++|Создание мобильных
|
|
|
+приложений на языке C++|Написание скриптов для игр на движке
|
|
|
+«Unity»|Разработка игр на C++ с помощью набора API «DirectX» и
|
|
|
+написание скриптов для игр на движке «Unreal Engine»
|
|
|
+
|
|
|
+Кроме того, в разделе «Расположение установки» вы можете изменить путь
|
|
|
+установки среды Visual Studio. Выбрав нужные вам компоненты и путь
|
|
|
+установки, вы можете нажать на кнопку «Установить» справа внизу.
|
|
|
+
|
|
|
+# Создание, сохранение и открытие проекта
|
|
|
+
|
|
|
+При запуске среды Visual Studio в нее автоматически загружается
|
|
|
+стартовая страница, позволяющая быстро загрузить один из ранее
|
|
|
+разрабатывавшихся проектов в списке «Открыть последние», отображаемый в
|
|
|
+левой части окна, открыть какой-либо другой существующий проект (кнопка
|
|
|
+«Открыть проект или решение»), а также создать новый проект (кнопка
|
|
|
+«Создание проекта»). Впрочем, все отмеченные возможности доступны также
|
|
|
+из меню среды Visual Studio. «Файл» | «Создать» | «Проект...» или
|
|
|
+Ctrl + Shift + N – создание нового проекта. «Файл» | «Открыть» |
|
|
|
+«Решение или проект...» или комбинация Ctrl + Shift + O – открытие
|
|
|
+существующего проекта. «Файл | Последние проекты и решения – загрузка
|
|
|
+одного из недавно разрабатывавшихся проектов. Среда Visual Studio
|
|
|
+организована таким образом, что в ней нельзя создать отдельно взятый
|
|
|
+проект. Каждый проект должен содержаться в особой сущности, называемой
|
|
|
+«решение», которую можно охарактеризовать как группу взаимосвязанных
|
|
|
+проектов. В каждый момент времени в среду Visual Studio можно загрузить
|
|
|
+только одно решение; загрузка другого решения приводит к автоматическому
|
|
|
+закрытию предыдущего. При создании нового проекта на экране возникает
|
|
|
+диалоговое окно, в котором надо выбрать шаблон проекта и его имя. В
|
|
|
+качестве шаблона проекта выберете «Приложение Windows Forms». Таким
|
|
|
+образом, вы будете создавать десктопное приложение на языке C# на
|
|
|
+оболочке «.NET Framework». Вверху предусмотрена строка поиска для
|
|
|
+упрощения поиска нужного типа проекта. В качестве имени рекомендуется
|
|
|
+указывать имя проекта. Заметим, что имя проекта может содержать не
|
|
|
+только цифры и латинские буквы, но и другие символы, допустимые в именах
|
|
|
+файлов, в том числе пробелы и русские буквы. В среде Visual Studio при
|
|
|
+создании нового проекта необходимо сразу указать каталог для его
|
|
|
+сохранения (поле «Расположение»). На размещение проекта также влияет
|
|
|
+информация, связанная с группой проектов, которая называется «решением»,
|
|
|
+в которое будет помещен создаваемый проект, в частности, флажок «Создать
|
|
|
+каталог для группы проектов». Если в группу будет входить единственный
|
|
|
+проект, то следует снять данный флажок; это приведет к тому, что
|
|
|
+созданное решение будет иметь то же имя, что и созданный проект, а в
|
|
|
+каталоге, указанном в поле «Расположение», будет создан каталог с именем
|
|
|
+проекта, в котором будут размещаться все файлы, связанные с проектом и
|
|
|
+его группой. Отметим еще одну возможность среды Visual Studio (которой
|
|
|
+мы, однако, пользоваться не будем): создаваемый проект можно добавить к
|
|
|
+текущей группе проектов, то есть группе, ранее загруженной в среду
|
|
|
+Visual Studio. После нажатия на кнопку «Создать» Visual Studio создаст и
|
|
|
+откроет проект. Для сохранения всех изменений, внесенных в текущий
|
|
|
+проект (а точнее, в текущую группу проектов), в Visual C# предусмотрена
|
|
|
+команда «Файл» | «Сохранить все», а также клавиатурная комбинация
|
|
|
+Ctrl + Shift + S. При открытии существующего проекта на экране
|
|
|
+появляется диалоговое окно «Открыть», в котором можно выбрать либо файл
|
|
|
+с расширением «.sln», содержащий информацию о группе проектов с
|
|
|
+указанным именем, либо файл с расширением «.csproj», содержащий
|
|
|
+информацию о проекте с указанным именем. Однако даже при выборе
|
|
|
+отдельного проекта загружается группа проектов, в которой он содержится.
|
|
|
+
|
|
|
+# Разработка приложения
|
|
|
+
|
|
|
+В большом поле в центре находится проектируемый нами интерфейс
|
|
|
+создаваемого приложения. В левой части окна располагается панель
|
|
|
+элементов. В ней хранятся все необходимые для проекта элементы
|
|
|
+управления, которые можно поместить на форму. Есть несколько способов
|
|
|
+размещения элемента управления на форму. Справа находится «Обозреватель
|
|
|
+решений», в котором расположено дерево с файлами для проекта. При
|
|
|
+создании нового проекта типа «Windows Forms» связанная с ним главная
|
|
|
+форма (класс с именем «Form1») создается автоматически и сразу
|
|
|
+загружается в среду Visual Studio. С формой Form1 связывается набор
|
|
|
+файлов, основными из которых являются файлы «Form1.cs» и
|
|
|
+«Form1.Designer.cs». В этих файлах содержится описание данной формы на
|
|
|
+языке C#, причем второй из них содержит ту часть описания, которая
|
|
|
+генерируется автоматически в ответ на различные действия разработчика,
|
|
|
+связанные с визуальным проектированием (собственный код разработчик
|
|
|
+обычно размещает в файле «Form1.cs»). Если в проекте требуется
|
|
|
+использовать дополнительные формы, то их проще всего добавить в проект с
|
|
|
+помощью команды меню «Проект» | «Добавить форму (Windows Forms)...».
|
|
|
+При выполнении этой команды возникает диалоговое окно, в котором надо
|
|
|
+указать имя добавляемой формы (которое одновременно будет и начальной
|
|
|
+частью имен файлов, содержащих ее описание). В описываемых примерах
|
|
|
+всегда используются имена форм, предлагаемые системой по умолчанию
|
|
|
+(Form1, Form2 и т. д.). Любая созданная форма отображается в редакторе
|
|
|
+Visual Studio в режиме дизайна (на экране появляется изображение формы и
|
|
|
+ее содержимого); соответствующая вкладка редактора заканчивается текстом
|
|
|
+[Конструктор]. Например, для главной формы «Form1» вкладка содержит
|
|
|
+текст Form1.cs [Конструктор]. Для перехода к содержимому
|
|
|
+соответствующего файла cs достаточно нажать клавишу «F7»; при этом в
|
|
|
+редакторе появится новая вкладка с текстом данного файла (ярлычок этой
|
|
|
+вкладки будет содержать имя файла, например, «Form1.cs»). Для обратного
|
|
|
+переключения с текста на изображение формы можно использовать комбинацию
|
|
|
+Shift + F7. Переключаться между изображением формы и текстом кода можно
|
|
|
+также с помощью контекстного меню: при щелчке правой кнопкой мыши на
|
|
|
+изображении формы первый пункт появляющегося меню имеет имя «Перейти к
|
|
|
+коду» и позволяет перейти к тексту файла cs, а при вызове контекстного
|
|
|
+меню для текста cs-файла первый пункт меню имеет имя «Открыть в
|
|
|
+конструкторе» и позволяет вернуться в режим конструктора. Любую вкладку
|
|
|
+в редакторе можно закрыть; для этого достаточно сделать ее активной и
|
|
|
+нажать комбинацию Ctrl+F4 или вызвать контекстное меню вкладки, щелкнув
|
|
|
+правой кнопкой мыши на ее ярлычке, и выбрать пункт «Закрыть». Если после
|
|
|
+загрузки существующего проекта в редактор не загрузилась требуемая
|
|
|
+форма, достаточно выполнить двойной щелчок мышью на имени этой формы в
|
|
|
+окне «Обозреватель решений». Можно также щелкнуть на имени этой формы
|
|
|
+правой кнопкой мыши и выбрать пункт Open из появившегося контекстного
|
|
|
+меню. Данное меню также содержит пункт «Перейти к коду», позволяющий
|
|
|
+загрузить в редактор текст cs-файла, и «Открыть в конструкторе»,
|
|
|
+позволяющий загрузить в редактор форму в режиме дизайна. При выборе
|
|
|
+одной из форм в окне проекта «Обозреватель решений» дополнительно
|
|
|
+появляются кнопки быстрого доступа, первая из которых позволяет
|
|
|
+загрузить текст файла, а вторая – отобразить форму в режиме дизайна.
|
|
|
+Для размещения в форме нового компонента следует воспользоваться окном
|
|
|
+компонентов «Панель элементов» (отобразить это окно на экране можно либо
|
|
|
+командой меню «Вид» | «Панель элементов», либо комбинацией клавиш
|
|
|
+Ctrl + Alt + X, либо кнопкой ). Это окно обычно отображается в левой
|
|
|
+части экрана. Заметим, что компоненты отображаются в окне «Панель
|
|
|
+элементов» только в том случае, если редактор находится в режиме
|
|
|
+дизайна. Надо выбрать в этом окне группу, содержащую нужный компонент
|
|
|
+(щелкнув мышью по имени этой группы), затем щелкнуть на изображении
|
|
|
+нужного компонента, выделив его, и, наконец, щелкнуть в том месте формы,
|
|
|
+где предполагается разместить выбранный компонент. Для того чтобы
|
|
|
+выбрать компонент в окне «Панель элементов», необязательно знать, в
|
|
|
+какой группе он содержится, поскольку в этом окне имеется группа «Все
|
|
|
+формы Windows Forms», в которой указаны все имеющиеся компоненты в
|
|
|
+алфавитном порядке. Если в окне «Панель элементов» отсутствует нужный
|
|
|
+компонент, то можно попытаться загрузить его в это окно. Для быстрого
|
|
|
+размещения в форме нескольких компонентов одного типа следует после
|
|
|
+выделения требуемого компонента в окне «Панель элементов» выполнить
|
|
|
+щелчок мышью на форме несколько раз, держа нажатой клавишу Ctrl. Если
|
|
|
+компонент требуется разместить не в форме, а в другом компоненте,
|
|
|
+например в компоненте Panel, то при размещении компонента необходимо
|
|
|
+выполнить щелчок мыши в области компонента-приемника. В качестве
|
|
|
+компонентов-приемников могут использоваться только особые компоненты,
|
|
|
+называемые компонентами-контейнерами (сама форма также является
|
|
|
+компонентом-контейнером). Компонент-контейнер (форма, панель и т. д.),
|
|
|
+содержащий другие компоненты, называется родительским по отношению к
|
|
|
+размещенным в нем дочерним компонентам. При описании этапов разработки
|
|
|
+проекта мы всегда будем указывать, в каком компоненте-контейнере следует
|
|
|
+разместить каждый компонент. После добавления компонента в форму он
|
|
|
+автоматически получает имя, которое сохраняется в его свойстве «Name».
|
|
|
+По умолчанию имя любого компонента начинается со строчной буквы и
|
|
|
+состоит из имени типа компонента и порядкового номера. Так, первая
|
|
|
+размещенная в форме кнопка (компонент типа Button) получит имя
|
|
|
+«button1», а вторая кнопка – имя «button2». Формы имеют имена,
|
|
|
+начинающиеся с прописной буквы (Form1, Form2 и т. д.); это связано с
|
|
|
+тем, что данные имена являются именами новых классов – потомков
|
|
|
+базового класса Form. Имя, присвоенное по умолчанию, всегда можно
|
|
|
+заменить на другое имя, позволяющее, например, уточнить назначение того
|
|
|
+или иного компонента (например, кнопку «button1», содержащую текст «OK»,
|
|
|
+можно назвать «btnOK»). Однако в описываемых проектах почти всегда
|
|
|
+используются имена компонентов, предлагаемые системой Visual Studio по
|
|
|
+умолчанию: это позволяет уменьшить количество действий по настройке
|
|
|
+свойств компонентов и упрощает ориентировку в текстах программ. Следует
|
|
|
+заметить, однако, что при разработке больших проектов целесообразно
|
|
|
+использовать значимые имена для всех компонентов. Размеры визуальных
|
|
|
+компонентов также обычно не уточняются. Для настройки размеров можно
|
|
|
+воспользоваться перетаскиванием мышью за один из маркеров, окружающих
|
|
|
+выделенный компонент, или клавишами со стрелками при нажатой клавише
|
|
|
+Shift. Можно также явно задать значения свойства «Size» в окне
|
|
|
+«Свойства» или воспользоваться панелью «Layout». Для настройки свойств
|
|
|
+форм и компонентов используется окно свойств, быстро перейти на которое
|
|
|
+можно с помощью комбинации Alt + Enter (вернуться обратно на форму можно
|
|
|
+с помощью комбинации Ctrl+ Tab). Окно «Свойства» обычно располагается в
|
|
|
+правом нижнем углу экрана и может находиться в двух режимах: «Свойства»
|
|
|
+и «События». В настоящем разделе мы рассмотрим режим «Свойства»,
|
|
|
+предназначенный для отображения свойств выделенного компонента или
|
|
|
+группы компонентов (для перехода в данный режим надо нажать третью
|
|
|
+кнопку на панели инструментов окна свойств). Если выделена группа
|
|
|
+компонентов, то в окне свойств отображаются только те свойства, которые
|
|
|
+имеются у всех выделенных компонентов. Выделение группы компонентов
|
|
|
+позволяет быстро задать для них одинаковые размеры, заголовки или другие
|
|
|
+общие свойства, а также переместить их, сохраняя взаимное расположение
|
|
|
+Перечислим способы выделения группы компонентов: щелчок на компонентах
|
|
|
+при нажатой клавише Shift или Ctrl и охват компонентов пунктирной
|
|
|
+рамкой, которая появляется на форме при перемещении мыши с нажатой левой
|
|
|
+кнопкой (для выделения достаточно захватить рамкой часть компонента).
|
|
|
+Если выделена группа компонентов, то один компонент этой группы является
|
|
|
+текущим (его маркеры имеют белый цвет). Результат некоторых действий
|
|
|
+зависит от того, какой компонент выделенной группы является текущим. Для
|
|
|
+того чтобы сделать текущим другой компонент из выделенной группы,
|
|
|
+достаточно выполнить на нем щелчок мышью. Для снятия выделения с группы
|
|
|
+компонентов надо выделить компонент, не входящий в эту группу. Полезно
|
|
|
+знать, что если выделен некоторый компонент, то для выделения его
|
|
|
+родительского компонента достаточно нажать клавишу Esc. Таким способом
|
|
|
+можно быстро выделить любой компонент-контейнер, даже если его целиком
|
|
|
+покрывают дочерние компоненты. Для выделения формы есть еще более
|
|
|
+простой способ: щелчок мышью на ее заголовке. С помощью двух первых
|
|
|
+кнопок окна свойств можно настроить способ отображения свойств: по
|
|
|
+категориям (первая кнопка) или в алфавитном порядке имен (вторая
|
|
|
+кнопка). Каждая категория имеет имя и содержит «родственные» свойства.
|
|
|
+Используя группировку свойств по алфавиту, проще перейти к требуемому
|
|
|
+свойству; в то же время, при начальном ознакомлении со свойствами,
|
|
|
+имеющимися у компонента, удобнее использовать группировку по категориям.
|
|
|
+В настройках свойств вначале указывается имя компонента, свойства
|
|
|
+которого требуется изменить, а затем, после двоеточия, – список его
|
|
|
+настраиваемых свойств в формате «имя свойства = новое значение свойства»
|
|
|
+(значение свойства выделяется полужирным шрифтом). Свойства
|
|
|
+перечисляются через запятую. Компоненты могут иметь составные свойства,
|
|
|
+то есть свойства, имеющие собственные свойства (например, «Font» для
|
|
|
+насттройки шрифта). Если требуется настроить одно или несколько свойств
|
|
|
+подобного составного свойства, в листинге настройки свойств используется
|
|
|
+разделитель точка. Составные свойства помечаются в окне «Свойства»
|
|
|
+знаком «+» слева от имени. Щелчок на знаке «+» приводит к отображению в
|
|
|
+окне всех свойств выбранного составного свойства; знак «+» при этом
|
|
|
+меняется на «-». Щелчок на знаке «-» сворачивает список свойств
|
|
|
+составного свойства. Если требуется очистить какое-либо свойство, то в
|
|
|
+качестве его значения указывается курсивный текст «пустая строка». Для
|
|
|
+значений логических свойств используются константы True и False,
|
|
|
+начинающиеся с заглавной буквы (в отличие от ключевых слов языка C# true
|
|
|
+и false); это связано с тем, что именно так указываются логические
|
|
|
+константы в окне «Свойства». Для задания некоторых свойств, связанных с
|
|
|
+привязкой или выравниванием (например, «Dock» или «TextAlign»), в окне
|
|
|
+«Свойства» используются вспомогательные панели. Для отображения таких
|
|
|
+панелей предназначена кнопка, появляющаяся при выделении
|
|
|
+соответствующего свойства. В этих панелях надо выбрать один или
|
|
|
+несколько элементов, расположенных в требуемой позиции (слева, справа,
|
|
|
+по центру и т. п.), причем результат выбора будет отображен в окне
|
|
|
+«Свойства» в виде обычного текста (например, «Bottom» или
|
|
|
+«MiddleCenter»). Хотя подобные действия являются интуитивно понятными,
|
|
|
+они, как правило, снабжаются в тексте примеров дополнительными
|
|
|
+пояснениями. В некоторых случаях для задания свойства бывает удобно
|
|
|
+воспользоваться специальным диалоговым окном. Если для свойства
|
|
|
+предусмотрено такое окно, то при выделении свойства в окне «Свойства»
|
|
|
+справа от него изображается кнопка с многоточием, позволяющая вызвать
|
|
|
+диалоговое окно (примером такого свойства является «Font» – шрифт для
|
|
|
+текста). У всех компонентов имеется не только набор свойств, но и набор
|
|
|
+событий, с которыми можно связать методы – обработчики событий.
|
|
|
+Список обработчиков для выделенного компонента или группы компонентов
|
|
|
+отображается в окне свойств в режиме «События»; для перехода в данный
|
|
|
+режим надо нажать четвертую кнопку на панели инструментов окна
|
|
|
+«Свойства». Список событий, как и список свойств, можно упорядочивать
|
|
|
+двумя способами: по категориям и по именам (в алфавитном порядке).
|
|
|
+Двойной щелчок мышью на пустом поле ввода рядом с именем нужного события
|
|
|
+обеспечивает автоматическое создание заготовки для обработчика этого
|
|
|
+события. Обработчик любого события для любого компонента оформляется как
|
|
|
+метод той формы, на которой расположен данный компонент. Во всех
|
|
|
+примерах используются имена методов-обработчиков, предлагаемые системой
|
|
|
+Visual Studio по умолчанию: это позволяет легко определить, с каким
|
|
|
+компонентом и каким событием связан обработчик. Полужирным шрифтом
|
|
|
+выделяются те строки, которые требуется добавить в автоматически
|
|
|
+созданную заготовку метода-обработчика. Иногда фрагменты программы
|
|
|
+снабжаются комментариями, хотя чаще пояснения даются в основном тексте
|
|
|
+примера или в специальном разделе «Комментарий». Если в качестве
|
|
|
+обработчика нужно указать имя уже имеющегося метода, то достаточно
|
|
|
+выбрать имя этого метода в выпадающем списке рядом с именем события в
|
|
|
+окне свойств. По двойному щелчку на элемент с названием обработчика
|
|
|
+события вы автоматически попадете в редактор кода, в котором находится
|
|
|
+написанный по умолчанию код на C#. В редактор кода можно попасть, нажав
|
|
|
+на клавишу F7. Когда вы будете готовы посмотреть на результат работы
|
|
|
+вашего приложения, нажмите на кнопку «Пуск» или на клавишу F5.
|
|
|
+Запустится компилятор, который соберет ваш проект в файл с расширением
|
|
|
+«.exe», который и будет вашим приложением. Если в вашем коде
|
|
|
+присутствуют допущенные вами ошибки, то выведется уведомление, которое
|
|
|
+предложит запустить последний успешно запущенный вариант проекта.
|
|
|
+Скомпилированное приложение можно найти в папке проекта в каталоге
|
|
|
+«bin\\Debug\\». Оно будет называться по имени проекта и иметь расширение
|
|
|
+exe. И затем этот файл можно будет запускать без Visual Studio, а также
|
|
|
+переносить его на другие компьютеры. Нажав на вкладку «Проект» |
|
|
|
+«Свойства» в Visual Studio, вы попадете в меню, где можно поменять
|
|
|
+название приложения, оболочку, под которой оно создается, и его иконку.
|
|
|
+Последнее можно сделать, нажав на кнопку Обзор и выбрав файл с
|
|
|
+расширением «.ico».
|