C# で UI を定義
フォームやコントロールを C# で定義します。XAML を使わず、イベントや UI ロジックを直接扱えます。
リポジトリに掲載されている ControlGallery の実際の画面です。DataGridView の表示例で、外観はバージョンやテーマによって異なります。
機能
フォームやコントロールを C# で定義します。XAML を使わず、イベントや UI ロジックを直接扱えます。
独自のコントロールツリー、レイアウトシステム、入力処理を備えています。アプリの UI はフレームワーク自身が描画します。
テキスト入力、リスト、テーブル、メニュー、ダイアログ、コンテナーを用意。データバインディングで UI とアプリの状態を結び付けます。
テーマトークン、リソースの継承、実行時のテーマ切り替えに対応。テーマは JSON で定義できます。
リポジトリのドキュメントに掲載された実際のスクリーンショットです。ModernFormsNext のコントロールで構成した、異なるレイアウトを紹介します。
クイックスタート
Windows と .NET 10 SDK が必要です。テンプレートをインストールし、プロジェクトを作成してアプリを起動します。
ここではバージョン 1.11.1 を明示的に指定しています。
インストールガイドdotnet new install ModernFormsNext.Templates::1.11.1
dotnet new mfn-app -n MyApp
cd MyApp
dotnet run
コード例
ModernFormsNext を参照する Windows アプリのエントリーポイント全体を示しています。
テンプレートから作成したプロジェクトでは、既存のエントリーポイントを使うか、この例に置き換えてください。
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 拡張機能コントロールを追加し、プロパティやレイアウトをデザイナーで調整します。
UI の構造と設定がドキュメントに保存されます。
ジェネレーターが .Designer.cs ファイルを生成します。アプリのロジックはフォームのコードに記述します。
開発状況と対応環境
ModernFormsNext は開発中です。利用できる機能はプラットフォームによって異なります。
ランタイム、デザイナー、および主なテスト対象です。
コントロールと Skia の描画サーフェスを共有しています。ウィンドウ機能やプラットフォームサービスは、Windows と同等ではありません。
現在、これらの環境でのアプリ実行はサポートしていません。