MenuKit 8.6.4

dotnet add package MenuKit --version 8.6.4
                    
NuGet\Install-Package MenuKit -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="MenuKit" Version="8.6.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="MenuKit" Version="8.6.4" />
                    
Directory.Packages.props
<PackageReference Include="MenuKit" />
                    
Project file
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 MenuKit --version 8.6.4
                    
#r "nuget: MenuKit, 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 MenuKit@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=MenuKit&version=8.6.4
                    
Install as a Cake Addin
#tool nuget:?package=MenuKit&version=8.6.4
                    
Install as a Cake Tool

Fluent-построитель главного меню для WinForms-приложений. Позволяет создавать меню цепочкой вызовов с поддержкой подменю, иконок и горячих клавиш.

Установка

dotnet add package MenuKit

Справочник API

Класс MenuBuilder

public static MenuBuilder Create(Form form)

Создает новый построитель меню для указанной формы.

Параметры:

  • form — форма, к которой будет прикреплено меню.

Возвращает: экземпляр MenuBuilder для цепочки вызовов.


public MenuBuilder Menu(string name)

Добавляет пункт меню верхнего уровня (например, «Файл», «Редактирование», «Справочники»).

Параметры:

  • name — текст пункта меню.

Возвращает: текущий MenuBuilder.


.Item (базовая перегрузка)
public MenuBuilder Item(string name, Action action)

Добавляет элемент в текущее меню с обработчиком нажатия.

Параметры:

  • name — текст элемента меню.
  • action — делегат Action, вызываемый при выборе пункта.

Возвращает: текущий MenuBuilder.


.Item (перегрузка с горячими клавишами)
public MenuBuilder Item(string name, Action action, Keys shortcut)

Добавляет элемент в текущее меню с обработчиком нажатия и клавиатурным сокращением.

Параметры:

  • name — текст элемента меню.
  • action — делегат Action, вызываемый при выборе пункта.
  • shortcut — комбинация клавиш (Keys), например Keys.Control | Keys.S.

Возвращает: текущий MenuBuilder.


public MenuBuilder SubMenu(string name)

Начинает подменю с указанным именем. Все последующие вызовы Item добавляются в это подменю. Для возврата на уровень выше используйте EndSubMenu(). Подменю могут быть вложенными.

Параметры:

  • name — текст подменю.

Возвращает: текущий MenuBuilder.


.EndSubMenu
public MenuBuilder EndSubMenu()

Завершает текущее подменю и возвращается к родительскому меню.

Возвращает: текущий MenuBuilder.


.Icon
public MenuBuilder Icon(Image image)

Устанавливает иконку для последнего добавленного элемента меню (пункт, подменю или элемент верхнего уровня).

Параметры:

  • image — изображение иконки (Image).

Возвращает: текущий MenuBuilder.


.Separator
public MenuBuilder Separator()

Добавляет горизонтальный разделитель в текущее меню.

Возвращает: текущий MenuBuilder.


.Build
public MenuStrip Build()

Завершает построение меню, прикрепляет MenuStrip к форме и назначает его главным меню формы.

Возвращает: созданный MenuStrip.


Примеры использования

Пример 1: Туристическое агентство

using MenuKit;

MenuBuilder.Create(this)
    .Menu("Файл")
        .Item("Новый тур", () => CreateTour(), Keys.Control | Keys.N)
        .Item("Открыть каталог", () => OpenCatalog(), Keys.Control | Keys.O)
        .Separator()
        .Item("Выход", () => Close(), Keys.Alt | Keys.F4)
    .Menu("Клиенты")
        .Item("Список клиентов", () => ShowClients())
        .Item("Добавить клиента", () => AddClient())
        .SubMenu("Отчеты")
            .Item("По направлениям", () => ReportByDestination())
            .Item("По менеджерам", () => ReportByManager())
        .EndSubMenu()
    .Menu("Справка")
        .Item("О программе", () => ShowAbout())
    .Build();

Пример 2: Складская система с иконками

using MenuKit;

MenuBuilder.Create(this)
    .Menu("Склад")
        .Item("Приемка товара", () => AcceptGoods())
            .Icon(Properties.Resources.IconAccept)
        .Item("Отгрузка", () => ShipGoods())
            .Icon(Properties.Resources.IconShip)
        .Separator()
        .SubMenu("Инвентаризация")
            .Item("Начать инвентаризацию", () => StartInventory())
            .Item("Отчет о расхождениях", () => ShowDiscrepancies())
        .EndSubMenu()
    .Menu("Справочники")
        .Item("Товары", () => ShowProducts())
        .Item("Поставщики", () => ShowSuppliers())
        .Item("Категории", () => ShowCategories())
    .Build();

Пример 3: Библиотечная система с вложенными подменю

using MenuKit;

MenuBuilder.Create(this)
    .Menu("Каталог")
        .Item("Поиск книги", () => SearchBooks(), Keys.Control | Keys.F)
        .Item("Добавить книгу", () => AddBook(), Keys.Control | Keys.N)
        .SubMenu("Экспорт")
            .Item("В Excel", () => ExportToExcel())
            .Item("В PDF", () => ExportToPdf())
        .EndSubMenu()
    .Menu("Читатели")
        .Item("Регистрация", () => RegisterReader())
        .Item("Выдача книги", () => IssueBook())
        .Item("Возврат книги", () => ReturnBook())
        .Separator()
        .Item("Должники", () => ShowDebtors())
    .Build();
Product 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

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on MenuKit:

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 131 4/12/2026