Visual studio toolbox где находится

Обновлено: 04.07.2024

Настройка среды разработки

Рис. 1. Диалоговая панель My Profile

Поля на этой странице имеют следующее назначение:

Стартовая страница

Если в диалоговой панели My Profile в поле At Startup указано Show Start Page, при последующих запусках Visual Studio можно увидеть экран стартовой страницы (рис. 2).

В левой части этой страницы находятся ссылки на Web-ресурсы, такие как страница с обновлениями и дополнениями к продукту (What’s New), ссылки на страницы сообществ разработчиков, новостей MSDN и поиска в MSDN нужных разделов. Там же можно открыть страницу My Profile. В правой части страницы можно выбрать один из проектов, над которым недавно велась работа, открыть произвольный проект или создать новый.

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

Рис. 3. Диалоговая панель New Project

В правой части экрана можно выбрать один из предложенных шаблонов для данного типа проектов:

При создании нового проекта в поле Location необходимо указать имя каталога, в котором следует сохранить его файлы. При этом в данном каталоге автоматически будет создан другой каталог, имя которого совпадает с именем проекта. Например, при создании проекта MyProject и указании в поле Location каталога С:\Projects соответствующее решение будет создано в каталоге С:\Projects\MyProject\ MyProject.sln. По умолчанию проекты сохраняются в файле My Documents\Visual Studio Projects\Имя проекта.

Окна среды разработки Visual Studio

В правой части экрана находится окно Solution Explorer. В нем можно увидеть, из каких проектов состоит решение и какие файлы входят в состав этих проектов.

Ниже окна Solution Explorer расположено окно свойств (Properties). Это окно содержит список атрибутов объекта, выделенного в данный момент.

Давайте выясним, зачем нужны эти и другие окна среды разработки.

Окно Toolbox

В окне Toolbox (его можно отобразить на экране с помощью команды меню View / Toolbox) находится список элементов управления, которые можно использовать на формах приложения. То, какой набор компонентов доступен в данный момент, зависит от типа разрабатываемого приложения. Например, если в данный момент разрабатывается приложение типа Windows Forms, в этом окне будут присутствовать элементы управления, которые можно использовать в Windows-приложениях; если же разрабатывается Web-форма, в этом окне будут находиться инструменты для работы с элементами управления Web Controls, и т.д.

Рис. 5. Диалоговая панель Customize Toolbox

Окно Solution Explorer

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

Рис. 6. Окно Solution Explorer

С помощью кнопок, расположенных в верхней части окна Solution Explorer, можно указать, что именно должно отражаться в среде разработки:

  • View Code - код, связанный с файлом, выделенным в окне Solution Explorer;
  • View Designer - дизайнер (визуальный редактор) файла, выделенного в окне Solution Explorer;
  • Refresh - обновить содержимое окна Solution Explorer;
  • Show All Files - все файлы, включая код, связанный с формами;
  • Properties - свойства выбранного файла.

Окно Class View

Окно Class View (доступно с помощью команды меню View / Class View) позволяет просмотреть список свойств и методов созданных в приложении классов (рис. 7). Выбрав свойство или метод, можно щелкнуть на его имени правой клавишей мыши и выбрать одно из возможных действий с данным свойством или методом. По двойному щелчку по имени класса произойдет его загрузка в редактор кода.

Рис. 7. Окно Class View

Окно Server Explorer

Рис. 8. Окно Server Explorer

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

Окно Properties

Окно Properties (команда меню View / Properties Window) предназначено для изменения свойств элементов управления и других классов создаваемого приложения (рис. 9). Свойства можно отсортировать по алфавиту или по категориям (для этой цели в верхней части этого окна имеются соответствующие кнопки). Редактирование свойств может осуществляться путем ввода значения, выбора его из выпадающего списка либо с помощью установки его значения в отдельной диалоговой панели - это зависит от типа конкретного свойства. Таким же образом можно изменять свойства проекта, приложения и т.п.

Рис. 9. Окно Properties

Окно Object Browser

Окно Object Browser, доступное с помощью команды меню View / Other Windows / Object Browser (рис. 10), так же как и окно Class View, позволяет просмотреть список классов, их свойств и методов. Однако Object Browser позволяет просмотреть все компоненты, на которые ссылается класc, а также, при необходимости, компоненты, на которые нет ссылок в данном проекте, тогда как с помощью окна Class View можно просматривать сведения только о классах из данного проекта. С помощью Object Browser можно также просмотреть объявления свойств и методов.

Рис. 10. Окно Object Browser

Окно Task List

Окно Task List, доступное с помощью команды меню View / Other Windows / Task List (рис. 11), содержит список задач (TO DO list), ошибок компиляции и другую информацию. В этот список можно внести свое задание, щелкнув по надписи Click here to add a new task, добавив в код комментарий вида «TODO: <текст задачи>» либо выбрав из контекстного меню строки кода пункт Add a Task List Shortcut. При щелчке по тексту задачи в этом окне редактор кода откроется в месте, где находится соответствующий комментарий.

Рис. 11. Окно Task List

Режимы работы среды разработки

Окна инструментов

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

Некоторые окна инструментов, например окно Web Browser, можно создавать в виде нескольких экземпляров (это можно сделать, выбрав пункт меню Windows / New Window). Можно также заставить окна инструментов автоматически исчезать, если они в данный момент не являются активными, - в этом случае на экране отображаются название и пиктограмма окна, над которой можно поместить указатель мыши, если окно нужно отобразить целиком. Если необходимо предотвратить исчезновение окна с экрана, следует щелкнуть мышью по изображению канцелярской кнопки на заголовке окна.

Режимы отображения окон инструментов

Окна документов

Окна документов предназначены для редактирования компонентов проектов. Их взаимное расположение зависит от выбранного режима отображения окон в среде разработки.

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

Как и в прежней версии Visual Studio, после набора имени объекта и ввода точки на экране появляется список свойств и методов данного объекта. При вводе имени метода можно увидеть на экране описание метода и его параметров.

Окно редактирования можно разбить на несколько частей, в которых будут отображаться разные фрагменты кода. Допустимо также отобразить второе окно редактирования с помощью пункта меню Window / New Window.

В редакторе кода можно осуществлять контекстный поиск и замену текста в текущей процедуре, текущем модуле или в выделенном фрагменте кода с помощью стандартной диалоговой панели Windows Find and Replace. В строке для поиска могут содержаться символы «*» и «?», означающие любую последовательность символов и любой символ соответственно.

Возможен также поиск и замена фрагментов текста во всех файлах проекта. В этом случае следует использовать диалоговые панели Find in Files и Replace in Files.

Помимо фрагментов кода можно искать также названия классов и структур - для этой цели используется диалоговая панель Find Symbols. Результаты поиска отображаются в окне Find Symbol Results (рис. 12).

Рис. 12. Диалоговая панель Find Symbol и окно Find Symbol Results

В редакторе кода можно установить закладку на какую-либо строку кода и вернуться к ней позже. Закладки не исчезают и при сохранении проекта.

Можно также создать комментарий, связанный с выделенным фрагментом текста, с помощью команды меню Edit / Advanced / Comment Selection.

Возможно перемещение фрагментов текста посредством мыши в другое место, копирование фрагментов, а также перемещение фрагментов текста из редактора кода в окно Toolbox (рис. 13).

Рис. 13. Окно Toolbox с фрагментами текста

Фрагменты текста в окне Toolbox сохраняются до закрытия Visual Studio и могут при необходимости быть перенесены в редактор кода.

С помощью комбинации клавиш Shift+Ctrl+ Enter можно развернуть окно редактора кода на весь экран и вернуть его в исходное состояние, а комбинации Ctrl+Tab и Shift+Ctrl+Tab позволяют перемещаться между окнами документов.

Буфер обмена

Макросы

Работа с элементами управления

В среде Visual Studio имеется ряд инструментов для манипуляции элементами управления на этапе разработки приложений Windows Forms. Рассмотрим их подробнее.

При создании форм для ввода данных нередко требуется установить определенный порядок обхода элементов управления при нажатии клавиши Tab. Для просмотра и изменения этого порядка следует выбрать пункт меню View / Tab Order и установить порядок обхода элементов управления, выбирая их последовательно с помощью мыши (рис. 14).

Рис. 14. Установка порядка обхода элементов управления

Если установить свойство Font формы до того, как на нее будут помещены какие-либо элементы управления, все вновь помещаемые на форму элементы управления унаследуют это свойство формы. При необходимости присвоить одно и то же значение какого-либо свойства нескольким элементам управления можно выделить их (обведя их с помощью мыши или выбрав с помощью щелчков мыши при нажатой клавише Shift или Ctrl) и установить нужные значения общих свойств этих элементов с помощью окна Properties. Для выбора нескольких элементов внутри контейнера следует сначала установить на него фокус ввода.

Если выбрать пункт меню Format / Lock Controls, все элементы управления на данной форме будут заблокированы. Блокировка элементов управления применяется тогда, когда пользовательский интерфейс приложения уже спроектирован и нужно избежать случайного смещения элементов управления при щелчках на них с целью добавления связанного с ними кода.

Окно панели элементов отображает элементы управления, которые вы можете добавлять в проекты Visual Studio. Чтобы открыть панель элементов, выберите Вид > Панель элементов в строке меню или нажмите клавиши CTRL+ALT+X.

Снимок экрана: окно "Панель элементов" с параметрами, представленными в разделе "Контейнеры".

Можно перетаскивать различные элементы управления на поверхность используемого конструктора, а также изменять размер и положение элементов управления.

Панель элементов отображается вместе с представлениями конструктора, например представлением XAML-файла или проектом приложения Windows Forms. На панели элементов отображаются только те элементы управления, которые можно использовать в текущем конструкторе. Вы можете выполнить поиск в пределах панели элементов, чтобы отфильтровать отображаемые элементы.

Для некоторых типов проектов панель элементов не содержит никаких элементов.

Снимок экрана: диалоговое окно "Приложение", в котором отображаются параметры из раскрывающегося списка "Целевая платформа".

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

По умолчанию панель элементов свернута в левой части Visual Studio. Чтобы отобразить ее, наведите на нее курсор. Вы можете закрепить панель элементов, щелкнув на панели инструментов значок Закрепить, чтобы она оставалась открытой. Вы также можете открепить окно панели элементов и перетащить его в любое место на экране. Чтобы закрепить, открепить или скрыть панель элементов, щелкните ее правой кнопкой и выберите нужное действие.

Если панель элементов больше не отображается как свернутая в левой части интегрированной среды разработки Visual Studio, можно добавить ее обратно, выбрав Окно > Сбросить макет окна в строке меню.

Вы можете изменить порядок элементов на вкладке Панель элементов или добавить собственные вкладки, используя следующие команды в контекстном меню:

Переименовать элемент. Переименование выбранного элемента.

Представление списка. Отображение элементов управления в вертикальном списке. Если этот флажок не установлен, элементы управления размещаются горизонтально.

Показать все. Отображение всех возможных элементов управления (не только тех, которые можно использовать в текущем конструкторе).

Выбрать элементы. Открывает диалоговое окно Выбор элементов панели элементов, в котором можно указать элементы, отображаемые на панели элементов. Вы можете показать или скрыть элемент, установив или сняв его флажок.

Сортировать элементы по алфавиту. Сортировка элементов по имени.

Сброс панели. Восстановление параметров и элементов по умолчанию для панели элементов.

Добавить вкладку. Добавление новой вкладки на панель элементов.

Вверх. Перемещение выбранного элемента вверх.

Вниз. Перемещение выбранного элемента вниз.

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

Вы можете создать для панели элементов пользовательский элемент управления с помощью шаблона проекта на основе Windows Presentation Foundation или Windows Forms. Затем этот пользовательский элемент управления можно предоставить коллегам или опубликовать в Интернете с помощью установщика элементов управления панели элементов.

Следующие шаги

Перейдя по следующим ссылкам, вы узнаете о некоторых доступных вкладках панели элементов.


Состав панели элементов меняется в зависимости от того, какую платформу вы выбираете для разработки. Например, ниже на рисунке показаны различные варианты Toolbox для трех вариантов проектов: WinForms, WPF и UWP:


По умолчанию в панели элементов (toolbox) появятся только стандартные элементы управления. Например, мы захотим использовать в нашем проекте компоненты Ribbon Controls (как в Office). Для того, чтобы их использовать в своем проекте, мы должны добавить ссылку на них в свой проект. Сделать это можно следующим образом:



Теперь мы можем подключать необходимые пространства имен в наш проект и использовать компоненты в проекте. Однако в панели элементов они не появятся. Для того, чтобы добавить их в панель элементов необходимо выполнить ещё несколько простых действий.

Добавим наши компоненты Ribbon Controls в панель элементов. Элементы могут добавляться как в уже существующие вкладки, так и в новые, созданные нами. Воспользуемся вторым вариантом.





5. Теперь в панели элементов появятся новые элементы управления, которые можно добавлять на форму приложения простым перетаскиванием мышкой:

Сегодня мы разобрались с вопросом как добавить новые элементы управления в проект и добавить их в панель элементов (toolbox) Visual Studio 2019. Не всегда устанавливаемые элементы управления автоматически отображаются в панели элементов, поэтому иногда требуется воспользоваться их добавлением вручную, используя возможности IDE.

Скриншот панели выбора компонентов для создания графического приложения

1. В первую очередь перечислим, какие компоненты должны быть установлены для создания графического приложения на языке С++. Их три, все относятся к разделу "Desktop development with C++":
- VC++ 2017 v141 toolset (x86,x64)
- Windows 10 SDK (10.0.15063.0) for Desktop C++ x86 and x64
- C++/CLI support

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

Окно выбора типа создаваемого приложения

2. После установки среды разработки переходим
File > New > Project. ( ^+N )
В появившемся окне отыскиваем Installed > Visual C++ > CLR > CLR Empty Project

Поля внизу заполняем традиционным для таких программ способом. В названии проекта лучше не допускать пробелов, иначе вам потом придётся мудрить в коде.

3. Необходимо добавить в приложение главную форму. Есть два равносильных пути достижения этой цели.
Первый: в "Solution Explorer" правой кнопкой мыши на названии проекта, во всплывшем контексном меню Add > New Item.
Второй способ: в главном меню выбираем Project > Add New Item.
Или просто нажимаем ^+A

выбор Windows Form

Во появившемся окне Visual C++ > UI > Windows Form

Устранение ошибки 0x8000000A, иногда происходящей при создании формы

Главная форма программы создана. На некоторых компьютерах в данный момент возможно выскакивание ошибки 0x8000000A, в этом случае нужно просто закрыть вкладку.

Эта ошибка хорошо известна ещё по Visual Studio 2015. Можете почитать её обсуждение, к примеру, на сайте Microsoft по ссылке1, ссылке2, ссылке3. И более лучшего решения, чем закрывать вкладку, ещё нет. По всей видимости, команда разработчиков Visual Studio не считает эту ошибку достаточно серьёзным делом, чтобы ломать о неё копья.

Выбор в контекстном меню элемента Свойства

4. Но мало просто создать форму, нужно вплести её в создаваемую программу. Для этого в "Solution Explorer" правой кнопкой мыши на названии проекта, во всплывшем контексном меню выбрать Properties .

Выбор содсистемы (SubSystem)

В открывшемся окне произвести два действия.
• Linker > System > SubSystem , из раскрывающегося списка выбрать " Windows (/SUBSYSTEM:WINDOWS) "

Прописывание точки привязки (Entry Point)

• Linker > Advanced > Entry Point . В пустое поле вписать " main " (без кавычек).

5. В "Solution Explorer" двойным щелчком открыть в редакторе файл MyForm.cpp. Скопировать в него текст

Отлично, всё готово! Теперь проект компилируем и запускаем. Но если у вас ранее выскакивала 0x8000000A, то быстрее всего вам придётся перезапустить Visual Studio и вновь загрузить в нём проект. Далее ошибка ни в чём не проявится.

Вызов панели Toolbox, также показана сама панель

6. Для того, чтобы добавить на нашу только что созданную форму новые элементы, понадобится панель Toolbox. Полезно запомнить горячую клавишу ^!X

Работа с размещением элементов на форме сложностей вызвать не должна. Работает здесь всё удобнее, чем wxWidgets в CodeBlocks или wxDev-C++. Никаких глюков мною замечено не было.

Для изменения свойств только что созданного элемента интерфейса щёлкните на нём правой кнопкой и в контекстном меню выберите, соответственно, Properties.

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

MessageBox::Show("Hello World",
"My heading", MessageBoxButtons::OKCancel,
MessageBoxIcon::Asterisk);

Работающее простейшее графическое приложение, созданное в VS2017

Запускаем и проверяем!

Список Solution Configuration, выставленный на Release

Если вдруг не запустится, то первым делом проверяем, что выставлено в раскрывающемся списке Solution Configurations . Он находится на панели инструментов (под главным меню). Там должно быть Release (а не Debug) .

Дополнительная информация

Альтернативные способы создания графических приложений в Visual Studio 2017.

1. UWP (Universal Windows Platfrom application) - универсальные приложения, способные запускаться на Windows 10, Windows 10 Mobile и аналогичных самых современных платформах от Microsoft. Платформа разработана как расширение Windows Runtime. Всё бы хорошо, но данные приложения не могут запускаться на более старых версиях Windows, даже на восьмёрке.

Пара слов для общего развития о нескольких технологиях, на которые вы будете постоянно натыкаться при чтении документации по разработке GUI в Visual Studio.

ATL (Active Template Library) - набор шаблонных классов языка C++, предназначенных для упрощения написания COM-компонентов.
MFC (Microsoft Foundation Classes) - библиотека объектов, помогающая профессиональным разработчикам создавать десктопные приложения. Что-то вроде более усложнённого и навороченного варианта ATL. ATL и MFC являются хорошими вещами, и с их задействованием также можно создавать графические приложения. Но это инструменты, требующие наличия углублённых знаний тематики.

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

Примечания:
В интернете можно наткнуться на заголовок "Full C and C++ IDE with Visual Studio". Оттуда закачиваются те же самые стандартные дистрибутивы Visual Studio, проверено по контрольным суммам.

Код и внешний вид простейшего графического калькулятора

P.S.
Теперь можно немного поэкспериментировать с элементами интерфейса. Ниже показан код простейшего графического калькулятора:

private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e) Application::Exit();
>

private: System::Void radioButton1_CheckedChanged(System::Object^ sender, System::EventArgs^ e) label1->Text = "+";
>
private: System::Void radioButton2_CheckedChanged(System::Object^ sender, System::EventArgs^ e) label1->Text = "-";
>
private: System::Void radioButton3_CheckedChanged(System::Object^ sender, System::EventArgs^ e) label1->Text = "*";
>
private: System::Void radioButton4_CheckedChanged(System::Object^ sender, System::EventArgs^ e) label1->Text = "/";
>

private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) char sw = System::Convert::ToChar(label1->Text);
double a = System::Convert::ToDouble(textBox1->Text);
double b = System::Convert::ToDouble(textBox2->Text);
double r;
switch (sw) case '+':
r = a + b;
break;
case '-':
r = a - b;
break;
case '*':
r = a * b;
break;
case '/':
r = a / b;
break;
>
label2->Text = "Result: " + System::Convert::ToString(r);
>

Простой стандандартный windows-калькулятор

А теперь можно попытаться сотворить что-то более похожее на стандартное window-приложение. Пока простейшее.

double iFirstNum;
double iSecondNum;
double iResult;
String^ iOperator;

private: System::Void btnC_Click(System::Object^ sender, System::EventArgs^ e) /*button C ("Global Clear" - clears the entire calculation*/
tbDisplay->Text = "0";
lblShowOp->Text = "";
>

private: System::Void btnCE_Click(System::Object^ sender, System::EventArgs^ e) <
/*button CE ("Clear Entry" is supposed to be used to clear only the thing you are currently
typing into the calculator, before you have performed any operation on it.*/
tbDisplay->Text = "0";
>

private: System::Void buttonS_Number_Click(System::Object^ sender, System::EventArgs^ e) <
//Number Buttons Event
Button ^ Numbers = safe_cast<Button^>(sender);
if (tbDisplay->Text == "0")
tbDisplay->Text = Numbers->Text;
else
tbDisplay->Text += Numbers->Text;
>

private: System::Void buttonS_Arithmetic_Click(System::Object^ sender, System::EventArgs^ e) <
//Operator Buttons Event
Button ^ op = safe_cast<Button^>(sender);
iFirstNum = Double::Parse(tbDisplay->Text);
tbDisplay->Text = "0";
iOperator = op->Text;
lblShowOp->Text = System::Convert::ToString(iFirstNum) + " " + iOperator;
>

private: System::Void btnEquals_Click(System::Object^ sender, System::EventArgs^ e) <
//Equals
iSecondNum = Double::Parse(tbDisplay->Text);

if (iOperator == "+")
iResult = iFirstNum + iSecondNum;
else if (iOperator == "-")
iResult = iFirstNum - iSecondNum;
else if (iOperator == "*")
iResult = iFirstNum * iSecondNum;
else if (iOperator == "/")
iResult = iFirstNum / iSecondNum;
else MessageBox::Show("Unknown operation.\nSomething wrong.",
"error", MessageBoxButtons::OK,
MessageBoxIcon::Error);
return;
>

private: System::Void btnDot_Click(System::Object^ sender, System::EventArgs^ e) <
//Decimal Point
if (!tbDisplay->Text->Contains("."))
tbDisplay->Text += ".";
>

private: System::Void btnPM_Click(System::Object^ sender, System::EventArgs^ e) <
//Plus-Minus
if (tbDisplay->Text->Contains("-"))
tbDisplay->Text = tbDisplay->Text->Remove(0, 1);
else
tbDisplay->Text = "-" + tbDisplay->Text;
>

Код создан на основе видеоролика
"Visual C++ Calculator Tutorial with Decimal Point and Backspace" (37:59, DJ Oamen, 2016 Jan 2, Visual C++ 2010) ,
но имеет ряд отличий.

Как продолжение, существует видеоролик
"Visual C++ Scientific Calculator Tutorial" (53:31, Paul Oamen, 2016 Oct 2, Visual Studio 2015). Судя по голосу, автор тот же. К показанному выше калькулятору прибавляется конвертер температуры и ряд более научных функций. Предупрежу, что итоговое "творение" имеет массу изъянов и глюков, поэтому видео можно просматривать исключительно для изучение приёмов программирования. Но не используйте его в качестве образца того, как нужно создавать калькуляторы.

Читайте также: