AutoFormsKit 8.6.4
dotnet add package AutoFormsKit --version 8.6.4
NuGet\Install-Package AutoFormsKit -Version 8.6.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AutoFormsKit" Version="8.6.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AutoFormsKit" Version="8.6.4" />
<PackageReference Include="AutoFormsKit" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AutoFormsKit --version 8.6.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AutoFormsKit, 8.6.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AutoFormsKit@8.6.4
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AutoFormsKit&version=8.6.4
#tool nuget:?package=AutoFormsKit&version=8.6.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
AutoFormsKit
Автоматическая генерация WinForms-диалогов и CRUD-форм из любого C#-класса модели. Без ручного создания UI.
Установка
dotnet add package AutoFormsKit
Возможности
- Автоматическое создание диалоговых окон из свойств модели
- Поддержка валидации:
[Required],[StringLength],[MaxLength],[DataType] - Выпадающие списки для связанных сущностей (
DropdownSource) - Готовые CRUD-вкладки с DataGridView и кнопками Добавить/Редактировать/Удалить
- Автоматическое определение типа контрола по типу свойства (CheckBox для bool, DateTimePicker для DateTime, NumericUpDown для чисел, ComboBox для enum)
- Подсветка обязательных полей красным при ошибке валидации
- Свойство
Id/IDавтоматически скрывается из формы
API
Класс AutoDialog
| Метод | Описание |
|---|---|
T? CreateNew<T>(string? title = null) |
Показать диалог создания нового объекта. Возвращает объект или null при отмене. |
T? CreateNew<T>(string title, params DropdownSource[] dropdowns) |
Создание нового объекта с выпадающими списками для связанных сущностей. |
bool Edit<T>(T entity, string? title = null) |
Показать диалог редактирования существующего объекта. Возвращает true если OK. |
bool ConfirmDelete(string message = "Удалить запись?") |
Показать диалог подтверждения удаления. Возвращает true при подтверждении. |
bool ShowDialog<T>(T entity, string title, params DropdownSource[] dropdowns) |
Показать диалог для объекта с произвольными выпадающими списками. |
Класс AutoCrudForm
| Метод | Описание |
|---|---|
TabPage CreateTab<T>(DbContext db, string tabName, params DropdownSource[] dropdowns) |
Создать готовую вкладку TabPage с таблицей и кнопками Добавить/Редактировать/Удалить. |
Класс DropdownSource
| Свойство | Тип | Описание |
|---|---|---|
PropertyName |
string |
Имя свойства модели для привязки выпадающего списка |
Items |
object |
Список объектов для выпадающего списка |
DisplayMember |
string |
Свойство для отображения текста |
ValueMember |
string |
Свойство для значения |
Поддержка валидации
[Required]-- обязательное поле, подсвечивается красным при пустом значении[Required(ErrorMessage = "...")]-- пользовательское сообщение об ошибке[StringLength(100)]-- ограничение максимальной длины ввода в TextBox[MaxLength(50)]-- ограничение максимальной длины ввода в TextBox[DataType(DataType.MultilineText)]-- многострочное текстовое поле (TextBox с прокруткой)[Display(Name = "...")]-- отображаемое имя поля в форме вместо имени свойства
Примеры
Пример 1: Кадровый учет
using AutoForms;
using System.ComponentModel.DataAnnotations;
public class Employee
{
public int Id { get; set; }
[Required(ErrorMessage = "Укажите ФИО")]
[Display(Name = "ФИО сотрудника")]
[StringLength(100)]
public string FullName { get; set; } = "";
[Display(Name = "Должность")]
public string Position { get; set; } = "";
[Display(Name = "Зарплата")]
public decimal Salary { get; set; }
[Display(Name = "Дата приема")]
public DateTime HireDate { get; set; }
}
// Создание нового сотрудника
var employee = AutoDialog.CreateNew<Employee>("Новый сотрудник");
if (employee != null)
{
db.Employees.Add(employee);
db.SaveChanges();
}
// Редактирование
AutoDialog.Edit(employee, "Редактировать сотрудника");
// Удаление с подтверждением
if (AutoDialog.ConfirmDelete("Удалить сотрудника?"))
{
db.Employees.Remove(employee);
db.SaveChanges();
}
Пример 2: Связанные сущности с выпадающими списками
public class Order
{
public int Id { get; set; }
[Required]
[Display(Name = "Номер заказа")]
public string OrderNumber { get; set; } = "";
[Display(Name = "Клиент")]
public int ClientId { get; set; }
[Display(Name = "Сумма")]
public decimal Total { get; set; }
}
var clients = db.Clients.ToList();
var order = AutoDialog.CreateNew<Order>("Новый заказ",
new DropdownSource("ClientId", clients, "FullName", "Id"));
Пример 3: Полноценная CRUD-форма с вкладками
using AutoForms;
var tabControl = new TabControl { Dock = DockStyle.Fill };
var departments = db.Departments.ToList();
tabControl.TabPages.Add(AutoCrudForm.CreateTab<Department>(db, "Отделы"));
tabControl.TabPages.Add(AutoCrudForm.CreateTab<Employee>(db, "Сотрудники",
new DropdownSource("DepartmentId", departments, "Name", "Id")));
this.Controls.Add(tabControl);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0-windows7.0 is compatible. net9.0-windows was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0-windows7.0
- Microsoft.EntityFrameworkCore (>= 8.0.25)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AutoFormsKit:
| Package | Downloads |
|---|---|
|
ISBuilder
Information System Builder — full toolkit for building .NET 8 WinForms applications with EF Core, SQL Server. Export, CRUD, forms, charts, auth, reports, validation, themes. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.6.4 | 132 | 4/12/2026 |