123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291 |
- # Введение
- 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».
|