Задание фонового изображения схемы
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
В пакете SDK для визуализации и моделирования Visual Studio можно задать фоновое изображение для созданного конструктора с помощью пользовательского кода.
Настройка фонового изображения
Установка фонового изображения для сгенерированного конструктора
- Скопируйте файл изображения, который будет использоваться в качестве фона схемы, в каталог Dsl\Resources текущего проекта.
- В Обозреватель решений щелкните правой кнопкой мыши папку Dsl\Resources, наведите указатель мыши на добавление и выберите пункт «Существующий элемент«.
- В диалоговом окне «Добавление существующего элемента» перейдите в папку Dsl\Resources.
- В списке «Файлы типов » щелкните «Файлы изображений».
- Щелкните файл изображения, скопированный в каталог, и нажмите кнопку «Добавить«.
- Щелкните правой кнопкой мыши Dsl и щелкните «Свойства «, чтобы открыть свойства проекта Dsl.
- На вкладке «Ресурсы» щелкните этот проект не содержит файл ресурсов по умолчанию. Щелкните здесь, чтобы создать его.
- Добавьте файл изображения в файл ресурса, перетащив рисунок из Обозреватель решений в окно ресурсов.
- Откройте меню «Файл» и выберите параметр для сохранения свойств проекта.
- Убедитесь, что файл Dsl\Properties\Resources.resx существует и под ним есть файл Resources.Designer.cs.
- Если resources.Designer.cs отсутствует, щелкните файл Resources.resx в Обозреватель решений.
- В окне Свойства присвойте свойству Custom Tool значение ResXFileCodeGenerator .
- В Обозреватель решений щелкните правой кнопкой мыши проект Dsl, наведите указатель мыши на добавление и нажмите кнопку «Создать папку«.
- Назовите папку Custom.
- Щелкните правой кнопкой мыши папку «Пользовательская», наведите указатель на «Добавить» и выберите пункт «Создать элемент«.
- В диалоговом окне «Добавление нового элемента» в списке «Шаблоны« щелкните «Файл кода».
- В поле «Имя» введите BackgroundImage.cs и нажмите кнопку «Добавить«.
- Скопируйте указанный ниже код в файл BackgroundImage.cs, изменив пространство имен, имя класса схемы и имя ресурса файла изображения. Замените «MyDiagramClass» на имя частичного класса схемы, определенное в файле Dsl\GeneratedCode\Diagrams.cs. Узнать правильное пространство имен можно также с помощью файла Dsl\GeneratedCode\Diagrams.cs.
using System; using Microsoft.VisualStudio.Modeling.Diagrams; // Fix the namespace: namespace Fabrikam.MyLanguage < // Fix the Diagram Class name - get it from GeneratedCode\Diagram.cs public partial class Language29Diagram < protected override void InitializeInstanceResources() < // Fix the Resources namespace and the Image resource name: ImageField backgroundField = new ImageField("background", Fabrikam.MyLanguage.Properties.Resources.MyPicture); backgroundField.DefaultFocusable = false; backgroundField.DefaultSelectable = false; backgroundField.DefaultVisibility = true; backgroundField.DefaultUnscaled = false; shapeFields.Add(backgroundField); backgroundField.AnchoringBehavior .SetTopAnchor(AnchoringBehavior.Edge.Top, 0.01); backgroundField.AnchoringBehavior .SetLeftAnchor(AnchoringBehavior.Edge.Left, 0.01); backgroundField.AnchoringBehavior .SetRightAnchor(AnchoringBehavior.Edge.Right, 0.01); backgroundField.AnchoringBehavior .SetBottomAnchor(AnchoringBehavior.Edge.Bottom, 0.01); base.InitializeInstanceResources(); >> >
См. также
- Определение фигур и соединителей
- Настройка полей с текстом и изображениями
- Перемещение по модели и обновление модели в коде программы
- Написание кода для настройки доменного языка
Компонент Text Template Transformation (Преобразование текстовых шаблонов) автоматически устанавливается как часть рабочей нагрузки разработки расширений Visual Studio. Его также можно установить на вкладке Отдельные компоненты Visual Studio Installer в категории Пакеты SDK, библиотеки и платформы. Установите компонент Пакет SDK для моделирования со вкладки Отдельные компоненты.
Учебник. Добавление элементов управления в средство просмотра изображений приложения Windows Forms в Visual Studio
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
В этой серии из трех руководств вы создадите приложение Windows Forms, которое загружает изображение и отображает его. В интегрированной среде разработки Visual Studio имеются средства, необходимые для создания приложения. Подробнее см. в статье Добро пожаловать в интегрированную среду разработки Visual Studio.
В этой программе имеются поле рисунка, флажок и несколько кнопок, которые используются для управления приложением. В этом учебнике показано, как добавить эти элементы управления.
В этом третьем учебнике вы научитесь следующему:
- Добавление элементов управления в приложение
- Добавление кнопок на панель макета
- Изменение имен и расположений элементов управления
- Добавление компонентов диалоговых окон
Необходимые компоненты
Материал этого учебника построен на знаниях, которые вы получили из предыдущего учебника Создание приложения для просмотра изображений. Если вы еще не выполнили действия из этого учебника, сделайте в первую очередь это.
Добавление элементов управления в приложение
Приложение «Средство просмотра изображений» использует элемент управления PictureBox для вывода изображения. Оно использует флажок и несколько кнопок для управления изображением и фоном, а также для закрытия приложения. Вы добавите элемент PictureBox и флажок из области панели элементов в Visual Studio IDE.
- Откройте Visual Studio. Проект средства просмотра изображений находится в разделе Открыть последние.
- В конструкторе Windows Forms выберите элемент управления TableLayoutPanel, добавленный в предыдущем учебнике. Убедитесь, что в окне Свойства отображается tableLayoutPanel1.
- В левой части интегрированной среды разработки Visual Studio выберите вкладку Панель элементов. Если вы ее не видите, выберите пункт Представление>Панель элементов в строке меню или воспользуйтесь комбинацией клавиш CTRL+ALT+X. На панели элементов разверните узел Общие элементы управления.
- Дважды щелкните элемент PictureBox, чтобы добавить в форму элемент управления PictureBox. Visual Studio IDE добавит элемент управления PictureBox в первую пустую ячейку TableLayoutPanel.
- Щелкните новый элемент управления PictureBox, чтобы выбрать его, а затем щелкните черный треугольник на новом элементе управления PictureBox, чтобы отобразить его список задач.

- Выберите Закрепить в родительском контейнере, который задает для свойства Dock элемента управления PictureBox значение Fill. Это значение отображается в окне Свойства.
- В окне Свойства для элемента управления PictureBox задайте для свойства ColumnSpan значение 2. Теперь элемент управления PictureBox заполняет оба столбца.
- Установите для его свойства BorderStyle значение Fixed3D.
- В конструкторе Windows Forms выберите элемент управления TableLayoutPanel. Затем двойным щелчком выберите элемент CheckBox на панели элементов, чтобы добавить новый элемент управления CheckBox в следующую свободную ячейку таблицы. Элемент управления PictureBox занимает первые две ячейки в TableLayoutPanel, поэтому элемент управления CheckBox добавляется в нижнюю левую ячейку.
- Выберите свойство Text и введите Stretch.

Добавление кнопок на панель макета
Мы добавили элементы управления в TableLayoutPanel. Далее показано, как добавить четыре кнопки в новую панель макета в TableLayoutPanel.

- В форме выберите элемент управления TableLayoutPanel. Откройте Панель элементов, выберите Контейнеры. Дважды щелкните элемент управления FlowLayoutPanel для добавления нового элемента в последнюю ячейку TableLayoutPanel.
- Присвойте свойству Dock элемента FlowLayoutPanel значение Fill. Это свойство можно задать, щелкнув черный треугольник и выбрав Закрепить в родительском контейнере. Элемент управления FlowLayoutPanel является контейнером, в котором другие элементы управления размещаются построчно в определенном порядке.
- Выберите новый элемент FlowLayoutPanel, а затем откройте Панель элементов и выберите Общие элементы управления. Дважды щелкните элемент Кнопки, чтобы добавить кнопку с именем button1.
- Снова дважды щелкните элемент Кнопка, чтобы добавить еще одну кнопку. Интегрированная среда разработки вызывает следующий элемент button2.
- Добавьте еще две кнопки таким же образом. Другой вариант — выберите button2, а затем выберите Правка>Копировать или нажмите клавиши CTRL+C. Далее в строке меню выберите Правка>Вставить (или нажмите клавиши CTRL+V). Порядок вставки копии кнопки. Повторите вставку еще раз. Обратите внимание на то, что в интегрированной среде разработки были добавлены кнопки button3 и button4 в FlowLayoutPanel.
- Выберите первую кнопку и установите для ее свойства Text значение Показать рисунок.
- Установите для свойства Text следующих трех кнопок значения Очистить рисунок, Установить цвет фона и Закрыть.
- Чтобы изменить размер кнопок и расположить их, выберите элемент FlowLayoutPanel. Присвойте свойству FlowDirection значение RightToLeft. Кнопки должны сами выровняться по правой стороне ячейки и изменить свой порядок таким образом, чтобы кнопка Показать рисунок располагалась с правой стороны. Можно перетаскивать кнопки в элементе FlowLayoutPanel, чтобы разместить их в любом порядке.
- Щелкните кнопку Закрыть, чтобы выбрать ее. Затем выберите остальные кнопки, удерживая нажатой клавишу CTRL.
- В окне Свойства задайте для свойства Авторазмер значение True. Размеры кнопок будут изменяться соответствии с текстом.
Вы можете запустить программу, чтобы увидеть, как выглядят элементы управления. Нажмите клавишу F5, выберите Отладка>Начать отладку или нажмите кнопку Запустить. Кнопки, которые вы добавили, пока еще не функционируют.
Переименование элементов управления
В форме есть четыре кнопки: button1, button2, button3и button4 в C#. В Visual Basic в качестве первой буквы любого имени элемента управления по умолчанию используется прописная буква, поэтому в Visual Basic кнопки называются Button1, Button2, Button3 и Button4. Чтобы присвоить им более информативные имена, выполните указанные ниже действия.

- В форме нажмите кнопку Закрыть . Если все еще выделены все кнопки, для отмены выделения нажмите клавишу ESC.
- В окне Свойства найдите (Name). Измените имя на closeButton. Интегрированная среда разработки не принимает имена, содержащие пробелы.
- Переименуйте другие три кнопки как backgroundButton, clearButton, showButton. Имена можно проверить в раскрывающемся списке селектора элементов управления в окне Свойства . Отобразятся новые имена кнопок.
Можно переименовать любой элемент управления, например TableLayoutPanel или checkbox.
Добавление компонентов диалоговых окон
С помощью компонентов приложение может открывать графические файлы и выбирать цвет фона. Компонент аналогичен элементу управления. Для добавления компонента в форму используется панель элементов. Для задания значений свойств используется окно Свойства.
В отличие от элемента управления, добавление в форму компонента не добавляет в форму визуальный элемент. Вместо этого, компонент предоставляет определенное поведение, которое можно включать в коде. Например, это компонент, который открывает диалоговое окно Открыть файл.
В этом разделе добавьте в форму компоненты OpenFileDialog и ColorDialog.

- Выберите конструктор Windows Forms (Form1.cs[Design]). Затем откройте Панель элементов и выберите группу Диалоговые окна.
- Дважды щелкните элемент OpenFileDialog, чтобы добавить в форму компонент с именем openFileDialog1.
- Дважды щелкните на панели элементов элемент ColorDialog, чтобы добавить в форму компонент с именем colorDialog1. Компоненты отображаются в нижней части конструктора Windows Forms в виде значков.
- Щелкните значок openFileDialog1 и задайте два свойства:
- Установите для свойства Filter следующее значение:
JPEG Files (*.jpg)|*.jpg|PNG Files (*.png)|*.png|BMP Files (*.bmp)|*.bmp|All files (*.*)|*.*
Параметры свойства Filter определяют типы файлов, которые отображаются в диалоговом окне Выбор файла изображения.
Следующие шаги
Перейдите к следующему учебнику, чтобы узнать, как добавить код в приложение.
Как вставить изображение в базу данных?
В Visual Studio 2019 я создал .mdf базу данных и хочу в свою таблицу добавить картинку, я добавил столбец типа image каким SQL запросом я могу туда добавить .png или .jpg картинку что-бы затем загружать её в PictureBox в своей WinForms форме?
- Вопрос задан более трёх лет назад
- 1207 просмотров
Решения вопроса 1

Константин Цветков @tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
INSERT INTO myimages values (SELECT * FROM OPENROWSET(BULK 'C:\img\1.png', SINGLE_BLOB) as T1)
Изучите Image Class, а именно FromStream(Stream) и Save(Stream, ImageFormat) . С их помощью работают с BLOB-полями.
Ответ написан более трёх лет назад
Рисование в консоли Visual Studio c++
Учился писать код в паскале. По ходу учебы перешел на с++ и Visual Studio. В борланд паскале был удобный канвас в котором можно было рисовать фигуры/графики функций etc. есть ли в visual studio аналог?
Отслеживать
задан 29 ноя 2017 в 11:31
Андрей Лобанович Андрей Лобанович
129 1 1 золотой знак 1 1 серебряный знак 7 7 бронзовых знаков
Псевдографикой?
29 ноя 2017 в 11:33
неа, нужно качать дополнительные библиотеки из вне
29 ноя 2017 в 11:38
@user272591, что за библиотеки?
29 ноя 2017 в 11:49
@VladimirGamalyan да, почему нет.
29 ноя 2017 в 11:50
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
В Windows на окне можно рисовать средствами GDI, консольное окно не исключение. Естественно такое решение будет непереносимым. Пример:
#include #include #include int main() < HWND hwnd = GetConsoleWindow(); HDC hdc = GetDC(hwnd); int x = 0; for (float i = 0; i < 3.14 * 10; i += 0.05) < SetPixel(hdc, x, 50 + 25 * cos(i), RGB(255, 255, 255)); x += 1; >ReleaseDC(hwnd, hdc); std::cin.ignore(); return 0; >

Кроме установки пикселя в наличии большое кол-во функций для рисования различных примитивов, с применением разных кистей (толщины, узора и т.п.).
Внимание! Работает сносно только в старых версиях Windows (Windows XP). Не использовать для современных систем, начиная с Vista.
