Как создать несколько форм в visual studio

от admin

Как создать несколько форм в visual studio

Чтобы добавить еще одну форму в проект, нажмем на имя проекта в окне Solution Explorer (Обозреватель решений) правой кнопкой мыши и выберем Add(Добавить)->Windows Form.

добавление новой формы

Дадим новой форме какое-нибудь имя, например, Form2.cs:

создание новой формы

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

Теперь добавим в него код вызова второй формы. У нас вторая форма называется Form2, поэтому сначала мы создаем объект данного класса, а потом для его отображения на экране вызываем метод Show:

Теперь сделаем наоборот — чтобы вторая форма воздействовала на первую. Пока вторая форма не знает о существовании первой. Чтобы это исправить, надо второй форме как-то передать сведения о первой форме. Для этого воспользуемся передачей ссылки на форму в конструкторе.

Итак перейдем ко второй форме и перейдем к ее коду — нажмем правой кнопкой мыши на форму и выберем View Code (Просмотр кода). Пока он пустой и содержит только конструктор. Поскольку C# поддерживает перегрузку методов, то мы можем создать несколько методов и конструкторов с разными параметрами и в зависимости от ситуации вызывать один из них. Итак, изменим файл кода второй формы на следующий:

Фактически мы только добавили здесь новый конструктор public Form2(Form1 f) , в котором мы получаем первую форму и устанавливаем ее фон в желтый цвет. Теперь перейдем к коду первой формы, где мы вызывали вторую форму и изменим его на следующий:

Поскольку в данном случае ключевое слово this представляет ссылку на текущий объект — объект Form1, то при создании второй формы она будет получать ее (ссылку) и через нее управлять первой формой.

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

Как к проекту добавить form2?

Каким образом можно добавить к проекту новую форму? У меня есть один проект с одной формой, и по истечении времени должна появляться другая форма. так вот как мне ее в visual studio 2010 добавить к первой форме так, чтобы я мог её конструировать?

Nicolas Chabanovsky's user avatar

В Solution Explorer (Обозреватель решений) кликаем правой кнопкой на нужном проекте, выбираем команду Add(Добавить) и выбираем Windows Form.

Когда добавляете Form она будет в соседней вкладке, там можно редактировать. Всплывание привязать к таймеру, команда показа «show» на сколько я помню. (HardMode) Так же можно создать еще один проект с формой, отредактировать и привязать к нужной.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.3.11.43304

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Пример создания и вызова новой формы приложения в C#

Разработать демонстрационное приложение, осуществляющее вызов из главной формы второстепенной формы по схеме, изображенной на рис. 1. Приложение реализует взаимодействие между различными формами, которыми могут быть диалоговые окна любой сложности.

В главной форме Form1 разместить:

  • элемент управления типа Label для вывода результата возврата из второстепенной формы;
  • элемент управления типа Button для вызова второстепенной формы.

Во второстепенной форме Form2 разместить:

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

C# Схема взаимодействия между формами

Рис. 1. Схема взаимодействия между формами

Выполнение

1. Создать приложение типа Windows Forms Application

Запустить Microsoft Visual Studio 2010 . Пример создания нового приложения типа Windows Forms Application подробно описывается здесь.

Сохранить проект в произвольной папке.

После создания приложения у нас есть одна форма. Программный код формы размещен в файле « Form1.cs » (рис. 2).

C# Windows Forms Главная форма

Рис. 2. Главная форма приложения Form1

2. Разработка главной формы приложения

Из палитры элементов управления Toolbox выносим на форму:

  • элемент управления типа Button ;
  • элемент управления типа Label .

Автоматически создаются два объекта-переменные с именами button1 и label1 .
В элементе управления типа Button свойство Text установить в значение « Show Form 2 «.
В элементе управления типа Label свойство Text установить в значение « Result = «.
После внесенных изменений главная форма Form1 приложения будет иметь вид как показано на рисунке 3.

C# Windows Forms форма

Рис. 3. Главная форма приложения после внесенных изменений

3. Создание второстепенной формы

Для создания второстепенной формы в C# можно воспользоваться несколькими способами.

Способ 1.
Для добавления формы №2 в проект этим способом нужно вызвать команду (рис. 4)

C# Windows Forms команда "Add Windows Form. "

Рис. 4. Команда « Add Windows Form… » для добавления новой формы в проект

В результате откроется окно « Add New Item — Windows Forms Application1 «. В этом окне выбираем элемент « Windows Form » (рис. 5). Оставляем имя формы как « Form2.cs «.

Windows Form C# добавление новой формы

Рис. 5. Окно добавления новой формы к проекту

После нажатия на кнопке « Add » новая форма будет добавлена к проекту (рис. 6).

C# Windows Forms форма Form2 файл "Form2.cs"

Рис. 6. Новосозданная форма Form2 и файл « Form2.cs «

Способ 2.

Также новую форму можно добавить к проекту с помощью соответствующей команды из контекстного меню (рис. 7).
Последовательность действий следующая:

  • в Solution Explorer сделать клик правой кнопкой «мышки» на названии приложения WindowsFormsApplication1 ;
  • выбрать подменю Add ;
  • в подменю Add выбрать команду « Windows Form… «.

C# Windows Forms новая форма Solution Explorer

Рис. 7. Добавление новой формы из Solution Explorer

В результате откроется точно такое же окно как на рисунке 5.

4. Разработка второстепенной формы

Следующим шагом есть разработка второстепенной формы. Используя средства панели инструментов Toolbox создаем второстепенную форму Form2 как показано на рисунке 8. Такое построение формы соответствует условию задачи. Таким же образом, на Form2 имеем элементы управления label1 , butto1 , button2 .

C# Windows Forms Второстепенная форма Form2

Рис. 8. Второстепенная форма Form2

5. Программирование событий клика на кнопках OK и Cancel формы Form2

Программируем событие клика на кнопке OK . Подробный пример программирования события клика на кнопке OK описывается здесь.

В программный код обработчика события button1_Click() (кнопка « OK «) вписываем следующую строку:

это значит, что результат возврата из формы Form2 есть « OK «.
Точно так же в обработчике события button2_Click вписываем:

это значит выбор кнопки « Cancel » ( button2 ).

После внесенных изменений листинг программного кода файла « Form2.c s» будет иметь следующий вид:

Переход к программному коду формы Form2 (файл « Form2.cs «) можно осуществить с помощью Solution Explorer . Для этого в Solution Explorer вызываем контекстное меню для формы Form2 и из этого меню выбираем команду « View Code » (рис. 9).

Visual Studio C# Команда "View Code"

Рис. 9. Команда « View Code » для перехода в режим программного кода

6. Вызов формы Form2 из главной формы приложения

Согласно с условием задачи, для вызова Form2 из Form1 нужно запрограммировать событие клика на кнопке « Show Form 2 «.

Программный код обработчика события будет иметь следующий вид:

В листинге, приведенном выше, сначала создается экземпляр класса типа Form2 . В операторе условного перехода if осуществляется вызов диалогового окна формы Form2 с помощью строки

Функция ShowDialog() выводит окно формы и держит его открытым до тех пор, пока пользователь не сделает какой-либо выбор. После выбора пользователем той или иной команды, окно закрывается с кодом возврата. Происходит проверка кода возврата с известными константами класса DialogResult . После проверки выводится сообщение о действии, выбранном пользователем в Form2 (элемент управления label2 ).

Читать:
Как создать глоссарий в smartcat

Листинг всего программного кода формы Form1 следующий

7. Выполнение приложения

После выполненных действий можно выполнять приложение и исследовать его работу.

Как создать несколько форм в visual studio

user avatar

Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# winforms или задайте свой вопрос.

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345

PavelDev

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

  1. Как создать меню, добавить в него новые элементы, C#.NET.
  2. Как создать панель управления в C# .NET.
  3. Как вызвать окно выбора файла в C# .NET.
  4. Как загрузить изображение в C# .NET.
  5. Как создать и вызвать дополнительную форму
Добавление меню в приложение C# .NET

Здесь все предельно просто: чтобы добавить меню в приложение, сначала откройте окно Toolbox (Панель элементов).
Нам потребуется разворот Menus & Toolbars (Меню и панели инструментов). В нем нас интересует элемент MenuStrip (рис. 1).
Уроки OpenGL + C#: Выбор элемента для созданию менюРисунок 1. Выбор элемента для созданию меню.
Зажмите его левой клавишей мыши и перетащите на форму. На нашей форме отразиться элемент меню, как показано на рисунке 2.
Уроки OpenGL + C#: Создание элементов менюРисунок 2. Создание элементов меню.
Теперь, щелкнув на строке «введите здесь» вы можете ввести название меню: назовем его «File». При этом добавятся 2 дополнительных элемента – один снизу, он будет доступен при открытии меню, второй справа — для создания новых разделов меню (рис. 3).
Уроки OpenGL + C#: Процесс добавления элементов менюРисунок 3. Процесс добавления элементов меню.

Дайте название подэлементу меню FileВыход”, как показано на рисунке 4. После этого назовите еще один раздел меню – «загрузить». В меню загрузить добавьте подэлемент «загрузить изображение» и в раскрывающемся меню назначьте ему 2 подэлемента: «В формате JPG» и «В формате PNG». Выглядеть меню будет следующим образом (рис. 4):
Уроки OpenGL + C#: Заполнение разделов создаваемого менюРисунок 4. Заполнение разделов создаваемого меню.
Теперь рассмотрим то, как просто добавить обработчик события меню. Для этого перейдите к меню «Выход». Теперь сделайте двойной щелчок левой клавишей мыши – MS Visual Studio автоматически создаст код функции обработчика и настроит событие обработки.

Создание панели управления (Toolbar) в C# .NET

Нам снова нужно перейти к окну Toolbox (Панель инструментов) и развороту Menus & Toolbars. В этот раз мы выберем элемент ToolStrip (рис. 5).
Уроки OpenGL + C#: Окно ToolboxРисунок 5. Окно Toolbox.
Перетащите элемент управления на окно и вы увидите, как вдоль его верхней границы разместиться панель ToolBar (рис. 6).
Уроки OpenGL + C#: Добавленный элемент ToolbarРисунок 6. Добавленный элемент Toolbar.
Мы изменим положение привязки нашего ToolBar’a. Для этого щелкнем по нему правой кнопкой и в открывшемся контекстном меню выберем пункт Свойства. Откроется окно свойств: здесь мы изменим привязку на левую часть окна, внеся изменения в параметр Dock, как показано на рисунке 7.
Уроки OpenGL + C#: Привязка панели инструментов к левой сторонеРисунок 7. Привязка панели инструментов к левой стороне.
Теперь увеличим размеры кнопок на Toolbar‘e. Для этого сначала необходимо в его свойствах установить параметр AutoSize равным false. Теперь мы можем изменить размеры самих кнопок: установим параметры SizeWidth равным 44. Поле станет шире (рис. 8).
Уроки OpenGL + C#: Установка размеров изображений, размещаемых на кнопках создаваемого ToolbarРисунок 8. Установка размеров изображений, размещаемых на кнопках создаваемого Toolbar.
Теперь добавим 3 кнопки на наш ToolBar. Для этого щелкните по нему и в раскрывающемся списке элементов, которые мы можем добавить, выберите элемент button (рис. 9).
Уроки OpenGL + C#: Добавление кнопок на панель элементов (Toolbar)Рисунок 9. Добавление кнопок на панель элементов (Toolbar).
Повторите операцию, чтобы кнопок на панели стало две. Теперь поочередно выберите каждую кнопку и в ее свойствах установите AutoSize равный false. После это перейдите к полю Size и установите высоту равную 42. Теперь кнопки примут квадратный вид.

Таким образом, на панели разместятся 3 кнопки, как показано на рисунке 10.
Уроки OpenGL + C#: Пример добавленных кнопок с установленными размерамиРисунок 10. Пример добавленных кнопок с установленными размерами.
Теперь назначим изображения для данных картинок. В качестве изображений можно использовать все современные форматы, в том числе и png24 с поддержкой прозрачности.

Первое
Изображение для кнопки 1: будет назначено кнопке, отвечающей за открытие дополнительного диалогового окна.

Второе
Изображение для кнопки 2.

Третье
Изображение для кнопки 3.

Теперь для установки изображений необходимо перейти в свойства картинки, после чего мы установим значение параметра ImageScaling равным none, чтобы изображение не масштабировалось. Теперь в параметре Image мы можем выбрать изображение для загрузки, как показано на рисунке 11.
Уроки OpenGL + C#: Установка изображений на кнопкиРисунок 11. Установка изображений на кнопки.
В процессе выбора откроется окно, показанное на рисунке 12.
Уроки OpenGL + C#: Импорт рисунка для установки на кнопкеРисунок 12. Импорт рисунка для установки на кнопке.
Теперь щелкните на кнопке Import и выберите необходимый рисунок. Аналогично повторите с другими рисунками. В результате вы получите 3 красивые кнопки, как показано на рисунке 13.
Уроки OpenGL + C#: Пример созданной панели инструментовРисунок 13. Пример созданной панели инструментов.
Для того чтобы создать обработчики нажатий на кнопки этого ToolBox‘а, достаточно совершить двойной щелчок мыши на каждом из них – MS Visual Studio автоматически сгенерирует код обработчик события и заготовки функций.

Теперь мы разместим на форме элемент PictureBox и настроим размеры окна, чтобы оно выглядело следующем образом (рис. 14).
Уроки OpenGL + C#: Расположение элемента PictureBox в окне программыРисунок 14. Расположение элемента PictureBox в окне программы.
В свойствах добавленного элемента PictureBox установите параметр SizeMode, равный StretchImage. Теперь, когда мы реализуем загрузку изображения, оно будет масштабироваться под размеры нашего элемента PictureBox.

Создание окна выбора файла в C# .NET

Чтобы пользователь мог выбирать файл для загрузки через стандартное в Windows окно загрузки файлов, мы выполним следующие действия.
Перейдите к окну ToolBox (Панель элементов).
Теперь перетащите элемент управления OpenFileDialog (рис. 15) на форму.
Уроки OpenGL + C#: Добавление элемента OpenFileDialogРисунок 15. Добавление элемента OpenFileDialog.
Местоположение, куда вы перетащите элемент, неважно: он добавится в поле под окном, к другим специфическим объектам (рис. 16).
Уроки OpenGL + C#: Элемент OpenFileDialog, расположенный под редактируемой формойРисунок 16. Элемент OpenFileDialog, расположенный под редактируемой формой.
Как видно из рисунка 16, к дополнительным элементам, уже установленным на наше окно (меню и ToolBox), добавился еще и элемент OpenFileDialog1.
Теперь мы реализуем код открытия окна выбора файла, с необходимыми нам параметрами.

Открытие окна выбора файла и загрузка изображения в C# .NET

Теперь, если откомпилировать приложение (F5), то можно попробовать загрузить изображение. Обратите внимание, что загрузка png24 с альфа-каналом тоже работает (рис. 17).
Уроки OpenGL + C#: Пример загруженного изображенияРисунок 17. Пример загруженного изображения.
Как видите, наше изображение масштабируется под размер элемента PictureBox. Поэтому сейчас мы добавим в проект еще одну форму, на которой мы будем отображать изображение в его истинном размере.

Для этого перейдите к окну Solution Explorer (Обозреватель решений), после чего щелкните на названии проекта правой кнопкой мыши и в открывшемся контекстном меню выберите Add->Form, как показано на рисунке 18.
Уроки OpenGL + C#: Добавление в проект нового диалогового окнаРисунок 18. Добавление в проект нового диалогового окна.
В открывшемся окне введите названия класса, который будет отвечать за генерацию нашего вспомогательного окна – Preview.cs (рис. 19).
Уроки OpenGL + C#: Установка названия создаваемой формы для нового диалогового окнаРисунок 19. Установка названия создаваемой формы для нового диалогового окна.
Теперь измените размер окна так, как показано на рисунке 20. Затем на форме разместите элемент panel. Внутри элемента panel разместите элемент pictureBox, как показано на рисунке 20.
Уроки OpenGL + C#: Размещение элементов panel и picturebox на созданном диалоговом окнеРисунок 20. Размещение элементов panel и picturebox на созданном диалоговом окне.
Данное окно будет получать при загрузке в качестве параметра ссылку на наше загруженное изображение. Затем оно будет устанавливать границы элемента pictureBox равными размерам полученного изображения, после чего устанавливать его в элемент pictureBox.

Related Posts