C#
Windows Forms App (.NET Framework): что это за шаблон в C#
Windows Forms App (.NET Framework) — это шаблон Visual Studio для создания оконных C# приложений под старую платформу .NET Framework. Он все еще встречается в учебниках, корпоративных проектах и старых Windows-приложениях. Для нового обучения чаще лучше выбирать Windows Forms App на современном .NET, если курс или работа не требуют именно .NET Framework
Что такое Windows Forms
Windows Forms — технология для создания оконных приложений под Windows. В ней есть форма, кнопки, поля ввода, подписи, таблицы и события. Пользователь нажимает кнопку, а ваш C#-код реагирует в обработчике
Пример обработчика:
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "Кнопка нажата";
}
Это классический способ писать небольшие desktop-программы: калькуляторы, внутренние утилиты, формы учета, учебные интерфейсы
Чем отличается .NET Framework
.NET Framework — старая Windows-платформа. Она работает только на Windows и часто используется в наследуемых проектах. Современный .NET — более новый путь, который развивается активнее и подходит для новых проектов
Если в Visual Studio вы видите два похожих шаблона:
Windows Forms App— обычно современный .NET;Windows Forms App (.NET Framework)— старый .NET Framework.
Для новичка без внешних требований разумнее начинать с современного Windows Forms App. Если ваш учебный курс использует Visual Studio 2019 и .NET Framework, тогда выбирайте шаблон из курса, чтобы не ловить различия в коде
Как создать проект
- Нажмите
Create a new project. - Найдите
Windows Forms App. - Проверьте язык C#.
- Если нужен старый шаблон, выберите вариант с
.NET Framework. - Укажите имя проекта.
- Нажмите Create.
После создания откроется дизайнер формы. Перетащите Button и Label, дважды щелкните по кнопке и напишите код в обработчике
Как запускается форма
В проекте есть файл Program.cs. Там запускается главная форма:
Application.Run(new Form1());
Эта строка создает форму и запускает цикл сообщений Windows. Пока окно открыто, приложение реагирует на клики, ввод и другие события
Важно не путать файл Program.cs и файл формы. Program.cs обычно только запускает приложение. Основная логика кнопок, полей и списков находится в Form1.cs. Если вы открыли дизайнер и дважды щелкнули по кнопке, Visual Studio сама создаст обработчик в правильном файле. Это безопаснее, чем вручную искать место в сгенерированном коде дизайнера
Когда выбирать .NET Framework
Выбирайте .NET Framework, если:
- вы поддерживаете старый проект;
- учебный курс прямо требует этот шаблон;
- в проекте есть старые библиотеки только под .NET Framework;
- приложение должно повторить существующую корпоративную среду.
Если таких причин нет, не цепляйтесь за старый шаблон. Для новых проектов лучше современный .NET
Практическое правило простое: если вы повторяете конкретный урок, выбирайте тот же шаблон, что в уроке. Если делаете свой новый проект, выбирайте современный Windows Forms App. Тогда будет проще обновлять .NET, подключать свежие пакеты и переносить знания в другие типы C# проектов
Частые ошибки
Первая ошибка — выбрать Console App и ждать дизайнер формы. Вторая — выбрать .NET Framework, хотя нужен современный .NET. Третья — удалить InitializeComponent(). Четвертая — писать код в файле, который генерирует дизайнер, вместо обычного файла формы
Мини-задача: создайте Windows Forms App, добавьте кнопку и подпись. При клике меняйте текст подписи. Затем создайте второй проект на шаблоне .NET Framework и сравните структуру файлов
Что почитать дальше по C#
- C# и .NET Framework: что выбрать новичку
- Как установить .NET SDK для C#
- Ошибки C#: cannot convert, null reference и missing using
- Рубрика C#
Что почитать дальше по C#
Если нужен общий маршрут по теме, откройте рубрику C#. Для соседних задач пригодятся эти разборы:
- C# и .NET Framework: что выбрать новичку
- Как добавить форму в Visual Studio для C# Windows Forms
- Как размножить PictureBox в C# Windows Forms
- Как размножить одну картинку на несколько в C# Windows Forms