Как создать новую форму в Windows Forms
Windows Forms — это платформа разработки приложений для операционной системы Windows, которая позволяет создавать интерактивные графические интерфейсы пользователя. Создание новой формы в Windows Forms — первый шаг на пути к разработке функционального приложения.
В этом пошаговом руководстве мы расскажем, как создать новую форму в Windows Forms, используя интегрированную среду разработки Visual Studio. Вам понадобится установленная копия Visual Studio на вашем компьютере для выполнения этих инструкций.
Шаг 1: Откройте Visual Studio и создайте новый проект Windows Forms. В меню выберите пункт «Файл» и выберите «Создать проект». В появившемся окне выберите «Windows Forms Application» и нажмите «Далее». Задайте имя проекта и место сохранения проекта на вашем компьютере, а затем нажмите «Создать».
Шаг 2: После создания проекта откроется окно формы по умолчанию. Это будет основная форма вашего приложения. В окне формы вы можете добавлять и настраивать различные элементы управления, такие как кнопки, текстовые поля, выпадающие списки и так далее.
Подготовка к созданию формы
Перед тем, как приступить к созданию новой формы в Windows Forms, необходимо выполнить несколько предварительных шагов:
- Откройте Visual Studio и создайте новый проект Windows Forms.
- Установите необходимые компоненты и библиотеки для работы с Windows Forms. Включите необходимые сборки и пространства имен.
- Выберите желаемую конфигурацию и дизайн вашей формы. Определите ее размеры и расположение на экране. Рассмотрите все необходимые элементы управления, такие как кнопки, текстовые поля, выпадающие списки и т. д.
- Разработайте структуру и внешний вид вашей формы. Это включает выбор шрифтов, цветовой схемы и расположения элементов управления.
- Создайте класс для вашей формы и добавьте необходимые события и методы для обработки пользовательского ввода и действий.
- Настройте связь между элементами управления и вашим кодом. Привяжите события к методам обработки и настройте доступ к данным из элементов управления.
- Проверьте работоспособность вашей формы путем запуска приложения и тестирования взаимодействия с пользователем.
Подготовка перед созданием формы позволяет вам хорошо продумать логику и внешний вид вашего приложения. Тщательное планирование и предварительное тестирование помогут вам сэкономить время и избежать проблем во время разработки.
Создание приложения Windows Forms на C# в Visual Studio
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
В этом руководстве вы создадите простое приложение C# с пользовательским интерфейсом на основе Windows.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
На некоторых снимках экрана в этом учебнике используется темная тема. Если вы не используете темную тему, но хотите переключиться на нее, см. страницу Персонализация интегрированной среды разработки и редактора Visual Studio.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio 2022, если еще не сделали этого.
Создание проекта
Сначала вы создадите проект приложения на C#. Для этого типа проекта уже имеются все нужные файлы шаблонов, что избавляет вас от лишней работы.
- Откройте Visual Studio.
- На начальном экране выберите Создать проект.

- В окне Создать проект выберите шаблон Приложение Windows Forms (.NET Framework) для C#. (Если вы предпочитаете, вы можете уточнить поиск, чтобы быстро получить нужный шаблон. Например, введите или введите приложение Windows Forms в поле поиска. Затем выберите C# в списке языков и выберите Windows в списке платформ.)

Примечание. Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
После этого в Visual Studio Installer выберите рабочую нагрузку Разработка классических приложений .NET.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.

- Откройте Visual Studio.
- В окне запуска выберите Создание нового проекта.

- В окне Создание проекта выберите шаблон Приложение Windows Forms (.NET Framework) для C#. (Если вы предпочитаете, вы можете уточнить поиск, чтобы быстро получить нужный шаблон. Например, введите или введите приложение Windows Forms в поле поиска. Затем выберите C# в списке языков , а затем выберите Windows в списке платформ .)

Примечание. Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
После этого выберите рабочую нагрузку Разработка классических приложений .NET в Visual Studio Installer.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.

Создание приложения
Когда вы выберете шаблон проекта C# и зададите имя файла, Visual Studio открывает форму. Форма является пользовательским интерфейсом Windows. Мы создадим приложение Hello World, добавив элементы управления на форму, а затем запустим его.
Добавление кнопки на форму
- Выберите Панель элементов, чтобы открыть всплывающее окно «Панель элементов».
(Если вы не видите Флажок всплывающего меню панели элементов можно открыть в строке меню. Для этого просмотрите >панель элементов. Или нажмите клавиши CTRL+ALT+X.) - Разверните общие элементы управления и выберите значок «Закрепить«, чтобы закрепить окно панели элементов.

- Выберите элемент управления Кнопка и перетащите его на форму.

- В окне Свойства найдите Текст, измените имя с button1 на Click this и нажмите клавишу ВВОД.
(Если вы не видите Окно свойств можно открыть в строке меню. Для этого выберите окно «Просмотр>свойств». Или нажмите клавишу F4.) - В разделе Конструктор окна Свойства измените имя с button1 на btnClickThis и нажмите клавишу ВВОД.

Примечание. Если список в окне Свойства был упорядочен по алфавиту, button1 появится в разделе Привязки данных.
Добавление метки на форму
Теперь, когда мы добавили элемент управления »Кнопка» для создания действия, давайте добавим элемент управления «Метка», куда можно отправлять текст.
- Выберите элемент управления Метка в окне Панель элементов, а затем перетащите его на форму и расположите под кнопкой Нажмите это.
- В разделе Конструктор или Привязки данных окна Свойства измените имя label1 на lblHelloWorld и нажмите клавишу ВВОД.
Добавление кода на форму

- В окне Form1.cs [Конструктор] дважды щелкните эту кнопку, чтобы открыть окно Form1.cs. (Кроме того, можно развернуть узел Form1.cs в обозревателе решений, а затем выбрать Form1.)
- В окне Form1.cs после строки private void введите lblHelloWorld.Text = «Hello World!»; , как показано на следующем снимке экрана:
Выполнение приложения
- Нажмите кнопку Запустить, чтобы запустить приложение.
Будет выполнено несколько операций. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. Кроме того, вне этой среды откроется диалоговое окно Form1. Оно будет содержать вашу кнопку Нажмите это и текст label1. - Нажмите кнопку Нажмите это в диалоговом окне Form1. Обратите внимание, что текст label1 меняется на Hello World!.

- Закройте диалоговое окно Form1, чтобы завершить работу приложения.
Создание приложения
Когда вы выберете шаблон проекта C# и зададите имя файла, Visual Studio открывает форму. Форма является пользовательским интерфейсом Windows. Мы создадим приложение Hello World, добавив элементы управления на форму, а затем запустим его.
Добавление кнопки на форму
- Щелкните Панель элементов, чтобы открыть всплывающее окно «Панель элементов».
(Если вы не видите Флажок всплывающего меню панели элементов можно открыть в строке меню. Для этого просмотрите >панель элементов. Или нажмите клавиши CTRL+ALT+X.) - Щелкните значок Закрепить, чтобы закрепить окно Панель элементов.

- Выберите элемент управления Кнопка и перетащите его на форму.

- В окне Свойства найдите элементТекст, измените имя с Button1 на Click this , а затем нажмите клавишу ВВОД.
(Если вы не видите Окно свойств можно открыть в строке меню. Для этого выберите окно «Просмотр>свойств». Или нажмите клавишу F4.) - В разделе Проектирование окна Свойства измените имя с Button1 на btnClickThis , а затем нажмите клавишу ВВОД.

Примечание. Если список был упорядочен по алфавиту в окне Свойства, Button1 появится в разделе (DataBindings).
Добавление метки на форму
Теперь, когда мы добавили элемент управления »Кнопка» для создания действия, давайте добавим элемент управления «Метка», куда можно отправлять текст.
- Выберите элемент управления Метка в окне Панель элементов, а затем перетащите его на форму и расположите под кнопкой Нажмите это.
- В разделе Проект или (DataBindings) окна Свойства измените имя Label1 на lblHelloWorld и нажмите клавишу ВВОД.
Добавление кода на форму

- В окне Form1.cs [Конструктор] дважды щелкните эту кнопку, чтобы открыть окно Form1.cs. (Кроме того, можно развернуть Form1.cs в Обозреватель решений, а затем выберите команду View Code (или нажмите клавишу F7) в меню правой кнопкой мыши в Form1.cs.)
- В окне Form1.cs после строки private void введите lblHelloWorld.Text = «Hello World!»; , как показано на следующем снимке экрана:
Выполнение приложения
- Нажмите кнопку Запустить, чтобы запустить приложение.
Будет выполнено несколько операций. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. Кроме того, вне этой среды откроется диалоговое окно Form1. Оно будет содержать вашу кнопку Нажмите это и текст Label1. - Нажмите кнопку Нажмите это в диалоговом окне Form1. Обратите внимание, что текст Label1 меняется на Hello World!.

- Закройте диалоговое окно Form1, чтобы завершить работу приложения.
Следующие шаги
Поздравляем с завершением этого учебника! Для получения дополнительных сведений перейдите к следующему руководству:
См. также
- Другие руководства по C#
- Руководства по Visual Basic
- Руководства по C++
Глава 8. Приложение с дочерними окнами
Создание приложения с дочерними окнами в Visual Studio предельно просто. При создании Windows приложения достаточно установить свойство IsMdiContainer в значение true и проект решения становится проектом решения с дочерними окнами, приобретая соответствующий вид и свойства (Рис.1.).
Следующим этапом разработки приложения с дочерними окнами становится создание непосредственно формы для дочерних окон. Для этого к проекту добавляем новую форму Рис.1. (например, с именем MDIChildForm).
Рис.1. Решение приложения с дочерними окнами
И, последним этапом, осталось добавить пункт меню (createChild) для создания новой формы и его обработчик (двойной клик мышкой на пункте меню) и пункт меню Close All Childern. И не забудем закрыть все, что открыто, в обработчике события пункта меню Close All Childern.
private void createChildToolStripMenuItem(object sender, EventArgs e) < vNewChildForm(null); >private void vNewChildForm(string sS) < int viI=0; MDIChildForm child = new MDIChildForm(); child.MdiParent = this; //Иконка как и у родителя, можно загрузить любую другую из файла child.Icon = this.Icon; foreach (MDIChildForm mdicf in this.MdiChildren) < viI++; //Если хотим, что бы номера открытых форм шли более //менее по порядку - включаем в проект оператор If if (mdicf.Text != "Untitled: " + Convert.ToString(viI)) < break; >> child.Text = "Untitled: " + Convert.ToString(viI); child.Show(); //Следующий прием позволяет сразу отобразить иконку //дочернего окна не ожидая перерисовки формы при //FormWindowState = Maximized child.WindowState = FormWindowState.Normal; child.WindowState = FormWindowState.Maximized; child = null; //Можно задать расположение окон - расположить по горизонтали //LayoutMdi(MdiLayout.TileHorizontal); //По вертикали //LayoutMdi(MdiLayout.TileVertical); // Расположение каскадом LayoutMdi(MdiLayout.Cascade); > private void closeAllChildernToolStripMenuItem_Click(object sender, EventArgs e) < foreach (Form child in MdiChildren) < child.Close(); >//Можно программно выйти из режима Mdi Container //this.IsMdiContainer = false; >
Можно создать дополнительно («страховочное») закрытие всех открытых дочерних окон, например, в обработчике события закрытия основной формы:
private void Form1_FormClosed(object sender, FormClosedEventArgs e) < foreach (Form child in MdiChildren) < child.Close(); >>
Результат выполнения решения показан на Рис.2.
Рис.2. Приложение с дочерними окнами
Параграф 2. Взаимодействие между родительской и дочерними формами
Дочерние окна обычно используются как самостоятельные окна со своими функциональными возможностями. Уже хорошо то, что основное окно может управлять их открытием и закрытием. Хотя, это не мешает организовать и «более тесное взаимодействие» между ними. Организовать взаимодействие между окнами можно множествами способов. Один из них показан ниже.
Добавим в форму основного окна пункт меню «Set Phrase to Childern», как показано на Рис.3.
Рис.3. Решение приложения с дочерними окнами
Создадим обработчик события выбора данного пункта меню, в котором предполагается, что в дочерних окнах будет иметься функция vSetPhrase для приема сообщения:
private void setPhraseToChildernToolStripMenuItem_Click(object sender, EventArgs e) < foreach (MDIChildForm child in MdiChildren) < child.vSetPhrase("Всем детям - C праздником 9 мая! Всем ветеранам - Ура!"); >>
И создадим функцию для приема сообщения от дочерних окон:
public void vSetText(string s)
Теперь, на дочернюю форму, поместим контролы Button и Label, с соответствующим текстом, как показано на Рис.4.
Рис.4. Форма для дочернего окна
В коде для дочерней формы или полностью заменим конструктор, или добавим еще один, который позволяет принимать ссылку на основную форму:
private Form1 fmParent = null; //Конструктор по умолчанию public MDIChildForm() < InitializeComponent(); >//Добавляем конструктор, принимающий ссылку на родительскую форму public MDIChildForm(Form1 fmParent)
Соответственно в основной форме в функции создания дочернего окна необходимо заменить
MDIChildForm child = new MDIChildForm();
//В конструктор дочерней формы передаем ссылку на родителя MDIChildForm child = new MDIChildForm(this);
Осталось дописать функцию приема данных от основной формы, и отсылки сообщений из дочерней формы в основную, например:
public void vSetPhrase(string s) < label1.Text = s; >private void MDIChildForm_FormClosed(object sender, FormClosedEventArgs e)
В принципе, этого достаточно для показа взаимодействия форм. Но можно еще добавить определение параметров основной формы в дочерних окнах, как это сделано в обработчике события нажатия кнопки:
private void button1_Click(object sender, EventArgs e) < string s = ParentForm.Name; MessageBox.Show("Мой радитель " + s + "."); //Или так MessageBox.Show("Мой радитель " + fmParent.Name); >
Результат выполнения решения показан на Рис.5.
Рис.5. Выполнение приложения
Молчанов Владислав 12.09.2007г., переработано 8.5.2009г.
Еcли Вы пришли с поискового сервера — посетите мою главную страничку
На главной странице Ва узнаете, как я могу помочь Вам в написании офисной программы любой сложности в соответствии с Вашими запросами . И найдете ряд програм или ссылок на образцы.
Кроме того — на главной странице Вы найдете бесплатные программы : программы комплекса Veles — программы для автолюбителей, программы из раздела графика — программы для работы с фото, сделанными цифровым фотоаппаратом, программу Bricks — игрушку для детей и взрослых, программу записную книжку, программу TellMe — говорящий Русско-Английский разговорник — программу для тех, кто собирается погостить за бугром или повысить свои знания в английском, теоретический материал по программированию в среде Borland C++ Builder, C# (Windows приложения и ASP.Net Web сайты).
Переход на новую форму
Подскажите плиз, как создать новую форму В С# и при нажатии кнопки чтобы переходило на эту форму.
Одна форма уже есть!!
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Как загружать на форму элементы управления, не создавая новую форму?
Здравствуйте, столкнулся с вопросом в visual studio c#, как загружать на форму элементы управления.

Переход на новую строчку в Label
Как продолжить выводить текст в новой строке? Например Label.text = "aaabbb"; что нужно.
Переход на новую главу книги.
Объясните как перелистывать страницы. Есть книга,каждая глава этой книги лежит в отдельном.
Переход на новую строку в comboBox
Всем привет, подскажите, почему при вызове в комбоксе "\n " для перехода на новую строку, все.
