Windows 用の豊富なデスクトップ クライアント アプリを作成する UI フレームワークである、Windows フォームのデスクトップ ガイドへようこそ。 Windows フォームの開発プラットフォームでは、コントロール、グラフィックス、データ バインディング、ユーザー入力など、幅広い一連のアプリ開発機能がサポートされています。 Windows フォームには、Visual Studio のドラッグ アンド ドロップによるビジュアル デザイナーが用意されており、Windows フォーム アプリを簡単に作成できます。
Windows フォームには、次の 2 つの実装があります。
GitHub 上でホストされる、オープンソース実装。
このバージョンは .NET 上で実行されます。
最新バージョンは、Visual Studio 2022 バージョン 17.12 を使用する .NET 9 用 Windows フォームです。
Visual Studio 2022、Visual Studio 2019、および Visual Studio 2017 でサポートされている、.NET Framework 4 の実装。
.NET Framework 4 は .NET の Windows のみのバージョンであり、Windows オペレーティング システムのコンポーネントと見なされます。 このバージョンの Windows フォームは .NET Framework と共に配布されます。
イントロダクション
Windows フォームは、Windows デスクトップ アプリを構築するための UI フレームワークです。 Visual Studio で提供されるビジュアル デザイナーに基づいて、デスクトップ アプリを作成するための最も生産的な方法の 1 つが提供されます。 ビジュアル コントロールのドラッグ アンド ドロップ配置などの機能を使用すると、デスクトップ アプリを簡単に構築できます。
Windows フォームを使用すると、オフラインでもインターネットに接続しているときでも、簡単にデプロイ、更新、および作業を行える視覚的に豊富なアプリを開発できます。 Windows フォーム アプリからは、そのアプリが実行されているコンピューターのローカル ハードウェアとファイル システムにアクセスできます。
Windows フォーム アプリを作成する方法について学習する場合は、チュートリアル: 新しい WinForms アプリの作成に関するページを参照してください。
リッチで対話型のユーザー インターフェイスを構築する
Windows フォームは、.NET 用の UI テクノロジであり、ファイル システムへの読み書きなど、アプリの一般的なタスクを簡略化するマネージド ライブラリのセットです。 Visual Studio などの開発環境を使用する場合、情報を表示して、ユーザーからの入力を要求し、ネットワーク経由でリモート コンピューターと通信する Windows フォームのスマート クライアント アプリを作成できます。
Windows フォームでは、"フォーム" はユーザーに情報を表示するビジュアル サーフェイスです。 通常は、コントロールをフォームに追加して、マウスのクリックやキーの押下などのユーザー アクションへの応答を開発することで、Windows フォーム アプリを構築します。 "コントロール" は、データを表示したり、データ入力を受け入れたりする独立した UI 要素です。
ユーザーがフォームまたはそのコントロールのいずれかにアクションを実行すると、そのアクションがイベントを生成します。 アプリは、コードを使用してこれらのイベントに反応し、イベントが発生したときに処理します。 詳細については、「イベントの 概要」を参照してください。
Windows フォームには、テキスト ボックス、ボタン、ドロップダウン ボックス、ラジオ ボタン、さらには Web ページを表示するコントロールなど、フォームに追加できるさまざまなコントロールが含まれています。 フォームで使用できるすべてのコントロールの一覧については、「Windows フォームで使用するコントロール 」を参照してください。 既存のコントロールがニーズを満たしていない場合、Windows フォームでは、 UserControl クラスを使用した独自のカスタム コントロールの作成もサポートされます。 詳細については、「 ユーザー コントロールを作成する方法」を参照してください。
Windows フォームには、Microsoft Office のようなハイエンド アプリの機能をエミュレートする豊富な UI コントロールが用意されています。 ToolStrip および MenuStrip コントロールを使用する場合、テキストや画像を含むツールバーとメニューを作成したり、サブメニューを表示したり、テキスト ボックスやコンボ ボックスなど、その他のコントロールをホストしたりできます。
Visual Studio でドラッグ アンド ドロップによる Windows フォーム デザイナーを使用すると、Windows フォーム アプリを簡単に作成できます。 コントロールをカーソルで選択して、フォームの任意の場所に配置するだけです。 デザイナーがグリッド線やスナップ線などのツールを提供するので、コントロールの調整が楽になります。 FlowLayoutPanel、TableLayoutPanel、および SplitContainer の各コントロールを使用して、より短い時間で高度なフォーム レイアウトを作成できます。
最後に、独自のカスタム UI 要素を作成する必要がある場合、System.Drawing 名前空間には、線、円、およびその他の図形をフォームに直接レンダリングするための多数のクラスが含まれています。
.NET Framework のみ
Windows フォーム コントロールは、アプリケーション ドメイン間でマーシャリングするようには設計されていません。 このため、AppDomain の Control 基本型は、これが可能であることを示しているように見える場合でも、MarshalByRefObject 境界を越えて Windows フォーム コントロールを渡すことはサポートされていません。 複数のアプリケーション ドメインを持つ Windows フォーム アプリケーションは、アプリケーション ドメインの境界を越えて Windows フォーム コントロールが渡されない限りサポートされます。
フォームとコントロールを作成する
これらの機能を使用する方法の手順を追った説明については、次のヘルプ トピックを参照してください。
データの表示と操作
多くのアプリでは、データベース、XML または JSON ファイル、Web サービス、あるいはその他のデータ ソースからデータを表示する必要があります。 Windows フォームには、このような表形式のデータを従来の行と列の形式で表示するための DataGridView コントロールという名前の柔軟なコントロールが用意されているため、すべてのデータが独自のセルを占有します。 DataGridViewを使用すると、個々のセルの外観をカスタマイズしたり、任意の行や列を所定の位置にロックしたり、セル内の複雑なコントロールを表示したりできます。
ネットワーク経由のデータ ソースへの接続は、Windows フォームを使用するシンプルなタスクです。 BindingSource コンポーネントは、データ ソースへの接続を表し、データをコントロールにバインドしたり、前のレコードと次のレコードに移動したり、レコードを編集したり、変更を元のソースに保存したりするためのメソッドを公開します。 BindingNavigator コントロールは、ユーザーがレコード間を移動するための BindingSource コンポーネント上の簡単なインターフェイスを提供します。
Visual Studio の [データ ソース] ウィンドウを使用すると、データバインド コントロールを簡単に作成できます。 このウィンドウには、プロジェクト内のデータベース、Web サービス、オブジェクトなどのデータ ソースが表示されます。 このウィンドウからプロジェクト内のフォームに項目をドラッグすることで、データ バインド コントロールを作成できます。 [データ ソース] ウィンドウから既存のコントロールにオブジェクトをドラッグして、既存のコントロールをデータにデータバインドすることもできます。
Windows フォームで管理できるもう 1 つの種類のデータ バインディングは、
関連コンテンツ
.NET Desktop feedback