AppBuilderKit 8.7.0
dotnet add package AppBuilderKit --version 8.7.0
NuGet\Install-Package AppBuilderKit -Version 8.7.0
<PackageReference Include="AppBuilderKit" Version="8.7.0" />
<PackageVersion Include="AppBuilderKit" Version="8.7.0" />
<PackageReference Include="AppBuilderKit" />
paket add AppBuilderKit --version 8.7.0
#r "nuget: AppBuilderKit, 8.7.0"
#:package AppBuilderKit@8.7.0
#addin nuget:?package=AppBuilderKit&version=8.7.0
#tool nuget:?package=AppBuilderKit&version=8.7.0
AppBuilderKit
Fluent-конструктор полноценных CRUD-приложений на WinForms + EF Core.
Полное CRUD-приложение за 15 строк кода.
Установка
dotnet add package AppBuilder
Проблема
Создание типового WinForms-приложения с таблицами, меню, поиском, экспортом и статистикой обычно требует 500+ строк кода: ручная настройка DataGridView, диалоги добавления/редактирования, обработчики кнопок, привязка данных, меню, строка состояния...
С AppBuilderKit то же самое занимает 15 строк.
Быстрый старт
using AppBuilder;
App.Create<MyDbContext>("Служба занятости")
.WithMenu()
.WithDashboard(db => new[] {
("Вакансий", (object)db.Vacancies.Count(), Color.FromArgb(52,152,219)),
("Соискателей", (object)db.Applicants.Count(), Color.FromArgb(46,204,113)),
("Предприятий", (object)db.Enterprises.Count(), Color.FromArgb(155,89,182))
})
.AddTab<Vacancy>("Вакансии")
.AddTab<Applicant>("Соискатели")
.AddTab<Enterprise>("Предприятия")
.WithExport()
.WithSearch()
.WithStatusBar()
.Size(1200, 750)
.Run();
Это весь код. Приложение готово: окно с вкладками, таблицами, кнопками CRUD, поиском, экспортом, меню и дашбордом.
API-справочник
App.Create<TContext>(title)
Создает приложение с указанным DbContext и заголовком окна.
App.Create<MyDbContext>("Служба занятости")
.WithMenu()
Добавляет стандартное меню: Файл (Экспорт, Импорт, Выход), Справка (О программе).
.WithDashboard(func)
Добавляет панель с цветными карточками статистики. Функция принимает DbContext и возвращает массив кортежей (название, значение, цвет).
.WithDashboard(db => new[] {
("Всего вакансий", (object)db.Vacancies.Count(), Color.FromArgb(52,152,219)),
("Открытых", (object)db.Vacancies.Count(v => v.IsActive), Color.FromArgb(46,204,113))
})
.AddTab<T>(name)
Добавляет вкладку с таблицей для сущности T. Автоматически создает:
- DataGridView с данными из БД
- Кнопки "Добавить", "Редактировать", "Удалить"
- Диалоги ввода, сгенерированные через Reflection по свойствам модели
.AddTab<Vacancy>("Вакансии")
.AddTab<Applicant>("Соискатели")
.WithExport()
Добавляет кнопки экспорта и импорта данных на каждую вкладку.
.WithSearch()
Добавляет панель поиска на каждую вкладку. Поиск работает по всем столбцам таблицы.
.WithStatusBar()
Добавляет строку состояния внизу окна: текущее время и количество записей в активной вкладке.
.Size(width, height)
Устанавливает размер окна приложения в пикселях.
.Size(1200, 750)
.Run()
Запускает приложение (вызывает Application.Run).
Пример: Информационная система "Служба занятости"
using AppBuilder;
using Microsoft.EntityFrameworkCore;
// DbContext
public class EmploymentDb : DbContext
{
public DbSet<Vacancy> Vacancies { get; set; }
public DbSet<Applicant> Applicants { get; set; }
public DbSet<Enterprise> Enterprises { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlServer("Server=.;Database=Employment;Trusted_Connection=true;TrustServerCertificate=true");
}
// Запуск приложения — 15 строк
App.Create<EmploymentDb>("ИС Служба занятости")
.WithMenu()
.WithDashboard(db => new[] {
("Вакансий", (object)db.Vacancies.Count(), Color.FromArgb(52,152,219)),
("Соискателей", (object)db.Applicants.Count(), Color.FromArgb(46,204,113)),
("Предприятий", (object)db.Enterprises.Count(), Color.FromArgb(155,89,182))
})
.AddTab<Vacancy>("Вакансии")
.AddTab<Applicant>("Соискатели")
.AddTab<Enterprise>("Предприятия")
.WithExport()
.WithSearch()
.WithStatusBar()
.Size(1200, 750)
.Run();
Что генерируется автоматически
- Диалоги добавления и редактирования по свойствам модели (Reflection)
- Привязка данных к DataGridView через EF Core
- Обработчики кнопок CRUD (добавление, редактирование, удаление с подтверждением)
- Меню с экспортом/импортом
- Поиск по всем столбцам
Лицензия
MIT
| 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. |
-
net8.0-windows7.0
- ExportKit (>= 8.6.4)
- Microsoft.EntityFrameworkCore (>= 8.0.25)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AppBuilderKit:
| 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.