Как создать форму в visual studio
Перейти к содержимому

Как создать форму в visual studio

  • автор:

Как создать форму в visual studio

Для создания графических приложений на C# можно использовать .NET CLI, но также можно использовать бесплатную и полнофункциональную среду разработки — Visual Studio Community 2022 , которая в ряде случаев облегчает проектирование приложения. Так, загрузим установщик Visual Studio по адресу: https://www.visualstudio.com/en-us/downloads.

Установка Visual Studio для Windows Forms

Чтобы добавить в Visual Studio поддержку проектов для Windows Forms и C# и .NET 7, в программе установки среди рабочих нагрузок нужно выбрать только пункт Разработка классических приложений .NET . Можно выбрать и больше опций или вообще все опции, однако стоит учитывать свободный размер на жестком диске — чем больше опций будет выбрано, соответственно тем больше места на диске будет занято.

Разработка классических приложений .NET Windows Forms в Visual Studio

После установки среды и всех ее компонентов, запустим Visual Studio и создадим проект графического приложения. На стартовом экране выберем Create a new project (Создать новый проект)

Разработка классических приложений на C# и Windows Forms в Visual Studio

На следующем окне в качестве типа проекта выберем Windows Forms App :

создание первого проекта Windows Forms на C#

Стоит отметить, что среди шаблонов можно увидеть еще тип Windows Forms App (.NET Framework) — его НЕ надо выбирать, необходим именно тип Windows Forms App .

Далее на следующем этапе нам будет предложено указать имя проекта и каталог, где будет располагаться проект.

первый проект Windows Forms на C#

В поле Project Name дадим проекту какое-либо название. В моем случае это HelloApp .

На следующем окне Visual Studio предложит нам выбрать версию .NET, которая будет использоваться для проекта. Выберем последнюю на данный момент версию — .NET 7.0 и нажмен на кнопку Create (Создать) для создания проекта.

Версия .NET для проекта Windows Forms на C#

После этого Visual Studio откроет наш проект с созданными по умолчанию файлами:

первый проект Windows Forms на C# в Visual Studio

Справа находится окно Solution Explorer, в котором можно увидеть структуру нашего проекта. Практически этот тот же проект, который создается с помощью .NET CLI:

  • Dependencies — это узел содержит сборки dll, которые добавлены в проект по умолчанию. Эти сборки как раз содержат классы библиотеки .NET, которые будет использовать C#
  • Form1.Designer.cs : он содержит определение компонентов формы, добавленных на форму в графическом дизайнере
  • Далее идет файл единственной в проекте формы — Form1.cs , который по умолчанию открыт в центральном окне.
  • Program.cs определяет точку входа в приложение
Запуск приложения

Чтобы запустить приложение в режиме отладки, нажмем на клавишу F5 или на зеленую стрелочку на панели Visual Studio.

Запуск проекта Windows Forms в Visual Studio

После этого запустится пустая форма Form1 по умолчанию.

проект Windows Forms на C# в Visual Studio

После запуска приложения студия компилирует его в файл с расширением exe. Найти данный файл можно, зайдя в папку проекта и далее в каталог \bin\Debug\net7.0-windows

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

Как создать форму в visual studio

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

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

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

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

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

private void button1_Click(object sender, EventArgs e)

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

private void button1_Click(object sender, EventArgs e)

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

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

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace HelloApp < public partial class Form2 : Form < public Form2() < InitializeComponent(); >public Form2(Form1 f) < InitializeComponent(); f.BackColor = Color.Yellow; >> >

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

private void button1_Click(object sender, EventArgs e)

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

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

Мы можем также создавать объекты и текущей формы:

private void button1_Click(object sender, EventArgs e)

При работе с несколькими формами надо учитывать, что одна из них является главной — которая запускается первой в файле Program.cs. Если у нас одновременно открыта куча форм, то при закрытии главной закрывается все приложение и вместе с ним все остальные формы.

Как создать копию формы в программе Visual Studio?

Сегодня хочу показать, как можно быстро создать копию формы с помощью графического интерфейса программы Visual Studio.

1. Создадим новый проект типа Windows Forms Application.

2. Выполним команду: Build -> Build Solution.

Build Solution

3. Переходим в окно Solution Explorer и нажимаем правую кнопку мышки на имени текущего проекта. После чего в появившемся контекстном меню выбираем пункт Add и следом в дополнительном меню выбираем пункт New Item.

New Item

4. В появившемся окне Add New Item выбираем пункт Inherited Form, после чего нажимаем на кнопку Add.

Inherited Form

5. В открывшемся диалоговом окне Inheritance Picker выбираем компонент (форму), на основе которого мы хотим создать копию.

Inheritance Picker

В данном примере в списке содержится только один компонент Form1, поэтому можно сразу же нажать на кнопку OK. (Если данная кнопка не доступна (не активна), то это значит, что вы не выполнили пункт №2).

После нажатия на кнопку выполняется обычно наследование:

class Form2 : Form1 <>

В результате создаётся копия первой формы (Form2).

Solution Explorer

  • Как выполнить команду в cmd
  • Как получить исходный код страницы с помощью класса WebBrowser?
  • Убираем выделение в первой ячейке DataGridView

Один комментарий

Я добавляю новую форму выбираю производная форма после выбираю форму Form1 и создается копия Form2 на скрине у меня она уже создана

Оставить ответ Отменить ответ

�� С 20 по 22 апреля пройдут незабываемые битвы среди кибер-гладиаторов в мире информационной безопасности!

Открыта регистрация команд по ссылке .

Как создать проект Winforms в Visual studio code?

Всем доброго времени суток. Хотел написать графический калькулятор на C#, но при создании возник вопрос. Как создать проект winforms на Visual studio code?

  • Вопрос задан более трёх лет назад
  • 8761 просмотр

Комментировать
Решения вопроса 0
Ответы на вопрос 2

mindtester

# @mindtester Куратор тега C#

Ответ написан более трёх лет назад
Нравится 1 15 комментариев

2chevskii

5eb9277dbf6cc492977337.jpeg

Сдается однопоточная квартира в центре Москвы.

mindtester

# @mindtester Куратор тега C#

O6GpJTg.png

2CHEVSKII,

2chevskii

#, I wrote it for the memes.

hottabxp

Этот текст может быть частично переведен средствами машинного перевода.

древняя народная мудрость — ‘Читай доки в оригинале’)

mindtester

# @mindtester Куратор тега C#

2CHEVSKII, Сергей Карбивничий, вы оба умники, ни когда не были чайниками? и все чайники вот так вот с ходу шпарят оригинал? .. и офигенно будут благодарны за ответы со ссылками строго в оригинал

mindtester

# @mindtester Куратор тега C#
2CHEVSKII, найди два отличия в ссылке.. и не забудь кому предназначен ответ

2chevskii

#, там четыре отличия, если считать по символам.

Не хвастаюсь, просто для справки — «шпарю оригинал» с тех пор, когда впервые сел за шарп в январе-феврале 2019. Просто в школе хорошо учился и английский не прогуливал =)

mindtester

# @mindtester Куратор тега C#

2CHEVSKII, нет, ты хвастаешься
далее:
— передо мной?
— или перед ТС?
— но главное — зачем?

ps я не прогуливал. но может по языку наиболее вероятного противника у меня были так себе преподаватели.. при всем при этом, в свои 55, я спокойно читаю оригиналы профильной документации, умею пользоваться разнообразными переводчиками, а главное — явно лучше тебя понимаю, кому, как, и почему именно так отвечаю

mindtester

# @mindtester Куратор тега C#

2CHEVSKII, чем дешевые понты тут кидать, мог бы принести пользу здесь https://docs.microsoft.com/ru-ru/contribute/

2chevskii

#, я вообще не понимаю, к чему этот разговор, я написал выше, что первый мой ответ был чисто ради шутки, учитывая это — не ясно, почему ты воспринял мой комментарий, как камень в сторону твоего ответа.

2chevskii

#, Кстати — почему ты считаешь Великобританию наиболее вероятным противником? Я думал — на этом месте, с учетом политической ситуации, должны стоять США, или, на крайняк — Китай.

Как создать форму в visual studio

Для создания графических приложений на C# можно использовать .NET CLI, но также можно использовать бесплатную и полнофункциональную среду разработки — Visual Studio Community 2022 , которая в ряде случаев облегчает проектирование приложения. Так, загрузим установщик Visual Studio по адресу: https://www.visualstudio.com/en-us/downloads.

Установка Visual Studio для Windows Forms

Чтобы добавить в Visual Studio поддержку проектов для Windows Forms и C# и .NET 7, в программе установки среди рабочих нагрузок нужно выбрать только пункт Разработка классических приложений .NET . Можно выбрать и больше опций или вообще все опции, однако стоит учитывать свободный размер на жестком диске — чем больше опций будет выбрано, соответственно тем больше места на диске будет занято.

Разработка классических приложений .NET Windows Forms в Visual Studio

После установки среды и всех ее компонентов, запустим Visual Studio и создадим проект графического приложения. На стартовом экране выберем Create a new project (Создать новый проект)

Разработка классических приложений на C# и Windows Forms в Visual Studio

На следующем окне в качестве типа проекта выберем Windows Forms App :

создание первого проекта Windows Forms на C#

Стоит отметить, что среди шаблонов можно увидеть еще тип Windows Forms App (.NET Framework) — его НЕ надо выбирать, необходим именно тип Windows Forms App .

Далее на следующем этапе нам будет предложено указать имя проекта и каталог, где будет располагаться проект.

первый проект Windows Forms на C#

В поле Project Name дадим проекту какое-либо название. В моем случае это HelloApp .

На следующем окне Visual Studio предложит нам выбрать версию .NET, которая будет использоваться для проекта. Выберем последнюю на данный момент версию — .NET 7.0 и нажмен на кнопку Create (Создать) для создания проекта.

Версия .NET для проекта Windows Forms на C#

После этого Visual Studio откроет наш проект с созданными по умолчанию файлами:

первый проект Windows Forms на C# в Visual Studio

Справа находится окно Solution Explorer, в котором можно увидеть структуру нашего проекта. Практически этот тот же проект, который создается с помощью .NET CLI:

  • Dependencies — это узел содержит сборки dll, которые добавлены в проект по умолчанию. Эти сборки как раз содержат классы библиотеки .NET, которые будет использовать C#
  • Form1.Designer.cs : он содержит определение компонентов формы, добавленных на форму в графическом дизайнере
  • Далее идет файл единственной в проекте формы — Form1.cs , который по умолчанию открыт в центральном окне.
  • Program.cs определяет точку входа в приложение
Запуск приложения

Чтобы запустить приложение в режиме отладки, нажмем на клавишу F5 или на зеленую стрелочку на панели Visual Studio.

Запуск проекта Windows Forms в Visual Studio

После этого запустится пустая форма Form1 по умолчанию.

проект Windows Forms на C# в Visual Studio

После запуска приложения студия компилирует его в файл с расширением exe. Найти данный файл можно, зайдя в папку проекта и далее в каталог \bin\Debug\net7.0-windows

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

Пример создания и вызова новой формы приложения в 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)

Project -> Add Windows Form. 

C# Windows Forms команда

Рис. 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 файл

Рис. 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 «) вписываем следующую строку:

this.DialogResult = DialogResult.OK;

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

this.DialogResult = DialogResult.Cancel;

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

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

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 < public partial class Form2 : Form < public Form2() < InitializeComponent(); >private void button1_Click(object sender, EventArgs e) < this.DialogResult = DialogResult.OK; > private void button2_Click(object sender, EventArgs e) < this.DialogResult = DialogResult.Cancel; > > >

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

Visual Studio C# Команда

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

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

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

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

. private void button1_Click(object sender, EventArgs e) < Form2 f = new Form2(); // создаем объект типа Form2 if (f.ShowDialog() == DialogResult.OK) // вызов диалогового окна формы Form2 < label1.Text = "Result = OK!"; > else < label1.Text = "Result = Cancel!"; > > . 

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

f.ShowDialog();

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

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

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 < public partial class Form1 : Form < public Form1() < InitializeComponent(); >private void button1_Click(object sender, EventArgs e) < Form2 f = new Form2(); if (f.ShowDialog() == DialogResult.OK) < label1.Text = "Result = OK!"; > else < label1.Text = "Result = Cancel!"; > > > >

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

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

Связанные темы

  • Delphi. Создание новой формы и подключение ее к главной форме программы
  • C++ Builder. Пример создания и вызова новой формы из главной формы приложения
  • Пример создания и вызова диалогового окна в MS Visual Studio 2010 — C++ (MFC)

Как создать проект Winforms в Visual studio code?

Всем доброго времени суток. Хотел написать графический калькулятор на C#, но при создании возник вопрос. Как создать проект winforms на Visual studio code?

  • Вопрос задан более трёх лет назад
  • 8763 просмотра

Комментировать
Решения вопроса 0
Ответы на вопрос 2

mindtester

# @mindtester Куратор тега C#

Ответ написан более трёх лет назад
Нравится 1 15 комментариев

2chevskii

5eb9277dbf6cc492977337.jpeg

Сдается однопоточная квартира в центре Москвы.

mindtester

# @mindtester Куратор тега C#

O6GpJTg.png

2CHEVSKII,

2chevskii

#, I wrote it for the memes.

hottabxp

Этот текст может быть частично переведен средствами машинного перевода.

древняя народная мудрость — ‘Читай доки в оригинале’)

mindtester

# @mindtester Куратор тега C#

2CHEVSKII, Сергей Карбивничий, вы оба умники, ни когда не были чайниками? и все чайники вот так вот с ходу шпарят оригинал? .. и офигенно будут благодарны за ответы со ссылками строго в оригинал

mindtester

# @mindtester Куратор тега C#
2CHEVSKII, найди два отличия в ссылке.. и не забудь кому предназначен ответ

2chevskii

#, там четыре отличия, если считать по символам.

Не хвастаюсь, просто для справки — «шпарю оригинал» с тех пор, когда впервые сел за шарп в январе-феврале 2019. Просто в школе хорошо учился и английский не прогуливал =)

mindtester

# @mindtester Куратор тега C#

2CHEVSKII, нет, ты хвастаешься
далее:
— передо мной?
— или перед ТС?
— но главное — зачем?

ps я не прогуливал. но может по языку наиболее вероятного противника у меня были так себе преподаватели.. при всем при этом, в свои 55, я спокойно читаю оригиналы профильной документации, умею пользоваться разнообразными переводчиками, а главное — явно лучше тебя понимаю, кому, как, и почему именно так отвечаю

mindtester

# @mindtester Куратор тега C#

2CHEVSKII, чем дешевые понты тут кидать, мог бы принести пользу здесь https://docs.microsoft.com/ru-ru/contribute/

2chevskii

#, я вообще не понимаю, к чему этот разговор, я написал выше, что первый мой ответ был чисто ради шутки, учитывая это — не ясно, почему ты воспринял мой комментарий, как камень в сторону твоего ответа.

2chevskii

#, Кстати — почему ты считаешь Великобританию наиболее вероятным противником? Я думал — на этом месте, с учетом политической ситуации, должны стоять США, или, на крайняк — Китай.

Как создать копию формы в программе Visual Studio?

Сегодня хочу показать, как можно быстро создать копию формы с помощью графического интерфейса программы Visual Studio.

1. Создадим новый проект типа Windows Forms Application.

2. Выполним команду: Build -> Build Solution.

Build Solution

3. Переходим в окно Solution Explorer и нажимаем правую кнопку мышки на имени текущего проекта. После чего в появившемся контекстном меню выбираем пункт Add и следом в дополнительном меню выбираем пункт New Item.

New Item

4. В появившемся окне Add New Item выбираем пункт Inherited Form, после чего нажимаем на кнопку Add.

Inherited Form

5. В открывшемся диалоговом окне Inheritance Picker выбираем компонент (форму), на основе которого мы хотим создать копию.

Inheritance Picker

В данном примере в списке содержится только один компонент Form1, поэтому можно сразу же нажать на кнопку OK. (Если данная кнопка не доступна (не активна), то это значит, что вы не выполнили пункт №2).

После нажатия на кнопку выполняется обычно наследование:

class Form2 : Form1 <>

В результате создаётся копия первой формы (Form2).

Solution Explorer

  • Как выполнить команду в cmd
  • Как получить исходный код страницы с помощью класса WebBrowser?
  • Убираем выделение в первой ячейке DataGridView

Один комментарий

Я добавляю новую форму выбираю производная форма после выбираю форму Form1 и создается копия Form2 на скрине у меня она уже создана

Оставить ответ Отменить ответ

�� С 20 по 22 апреля пройдут незабываемые битвы среди кибер-гладиаторов в мире информационной безопасности!

Открыта регистрация команд по ссылке .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *