← すべてのプロジェクト

UI フレームワーク · オープンソース

開発中

ModernFormsNext

デスクトップ UI を、
C# で直接。

WinForms に着想を得たフォームとイベントのモデル。独自のコントロールとレイアウトシステムを備え、.NET 10 上で SkiaSharp による描画を行います。

機能

C# から始める UI 開発。

C# で UI を定義

フォームやコントロールを C# で定義します。XAML を使わず、イベントや UI ロジックを直接扱えます。

SkiaSharp による描画

独自のコントロールツリー、レイアウトシステム、入力処理を備えています。アプリの UI はフレームワーク自身が描画します。

コントロールとデータバインディング

テキスト入力、リスト、テーブル、メニュー、ダイアログ、コンテナーを用意。データバインディングで UI とアプリの状態を結び付けます。

テーマとリソース

テーマトークン、リソースの継承、実行時のテーマ切り替えに対応。テーマは JSON で定義できます。

サンプルアプリ

リポジトリのドキュメントに掲載された実際のスクリーンショットです。ModernFormsNext のコントロールで構成した、異なるレイアウトを紹介します。

Windows 上の Explorer:ツールバー、フォルダーツリー、ファイル一覧を備えた ModernFormsNext のサンプルアプリ。
Explorer · Windows原寸で表示

Explorer:フォルダーの移動とファイル一覧の表を備えたサンプルアプリ。

Windows 上の Outlaw:メールフォルダー、メッセージ一覧、プレビュー領域を備えたサンプルアプリ。
Outlaw · Windows原寸で表示

Outlaw:メール画面のサンプルです。表示されているメッセージと送信者は、サンプルコードに定義されたデモデータです。

クイックスタート

最初のウィンドウを起動。

Windows と .NET 10 SDK が必要です。テンプレートをインストールし、プロジェクトを作成してアプリを起動します。

ここではバージョン 1.11.1 を明示的に指定しています。

インストールガイド
ターミナル · WindowsPowerShell
dotnet new install ModernFormsNext.Templates::1.11.1
dotnet new mfn-app -n MyApp
cd MyApp
dotnet run

コード例

フォームとボタン、そしてイベント。

ModernFormsNext を参照する Windows アプリのエントリーポイント全体を示しています。

テンプレートから作成したプロジェクトでは、既存のエントリーポイントを使うか、この例に置き換えてください。

Program.csC#
using System.Drawing;
using ModernFormsNext;

internal static class Program
{
    [STAThread]
    private static void Main()
        => Application.Run(new MainForm());
}

public sealed class MainForm : Form
{
    public MainForm()
    {
        Text = "Hello, ModernFormsNext";
        Size = new Size(800, 600);

        var button = new Button
        {
            Text = "Kliknij mnie",
            Bounds = new Rectangle(24, 24, 160, 40)
        };

        button.Click += (_, _) => button.Text = "Działa!";
        Controls.Add(button);
    }
}

ツール

フォームをデザイナーで作成。

ModernFormsNext のデザイナーでフォームや UserControl を作成できます。Visual Studio との統合は VSIX 拡張機能として提供しています。

デザイナーとそのワークフローは開発を続けています。フレームワークのバージョンに合った拡張機能を選んでください。

リリースと VSIX 拡張機能
  1. フォームをデザイン

    コントロールを追加し、プロパティやレイアウトをデザイナーで調整します。

  2. .mfdesign ドキュメントを保存

    UI の構造と設定がドキュメントに保存されます。

  3. C# で開発を続ける

    ジェネレーターが .Designer.cs ファイルを生成します。アプリのロジックはフォームのコードに記述します。

開発状況と対応環境

Windows を中心に開発。

ModernFormsNext は開発中です。利用できる機能はプラットフォームによって異なります。

.NET 10C#MIT ライセンス
Windows
主要プラットフォーム

ランタイム、デザイナー、および主なテスト対象です。

Android
実験的

コントロールと Skia の描画サーフェスを共有しています。ウィンドウ機能やプラットフォームサービスは、Windows と同等ではありません。

macOS / Linux
対応バックエンドなし

現在、これらの環境でのアプリ実行はサポートしていません。