Skip to content

ATF Win Forms App Sample_j

Gary edited this page Mar 17, 2015 · 2 revisions

Table of Contents

説明

WinFormsApp は、基本的な WinForms サンプルのアプリケーションです。MEF を使用して、ATF コンポーネントを備えた WinForms アプリケーションを作成する方法を示します。これはエディターのようなアプリケーションの開始点ですが、WinFormsApp では編集機能を提供していません。

WinFormsApp サンプルのコードの多くは WpfApp サンプルと共通であるため、この 2 つが提供する機能のセットは似ています。実際、この 2 つのアプリケーションは 2、3 のファイルが異なるだけで、アプリケーションコードの大部分は共通です。このため、ATF アプリケーションを開発して WinForms と WPF 間で容易に変換できます。

サンプルのプログラム方法に関する詳細は、WinForms and WPF Apps Programming Discussion をご覧ください。

WinFormsApp が示す ATF の機能

  • MEF (Managed Extensibility Framework) を使用したアプリケーションのまとめ。
  • CommandService、SettingsService、ControlHostService、および WindowsLayoutService を含むアプリケーションシェルフレームワークの使用。
  • SchemaLoader を使用したスキーマのロード。

WinFormsApp の実行

  1. \bin\wws_atf\Release にある WinFormsApp.exe をダブルクリックします。
  2. アプリケーションデータのリストボックスを含むダイアログが表示されます。

メニューおよびツールバーオプション

  • [ファイル]: [Gui App Data を新規作成]、[Gui App Data を開く]、[保存]、[名前を付けて保存]、[すべて保存]、[閉じる]、および [終了]。
  • [編集]
    • [キーボードショートカット]: [キーボードショートカットをカスタマイズ] ウィンドウを使用して、キーボードショートカットを設定します。
  • [設定を読み込み/保存]: このウィンドウを使用して、現在の WinFormsApp の設定を保存するか、またはファイルからアプリケーション設定を読み込みます。
    • [基本設定]: コマンドアイコンのサイズなど、アプリケーションの詳細を設定します。
  • [ウィンドウ]
    • [左右に並べて表示]: ウィンドウペインを水平に並べて表示します。
    • [上下に並べて表示]: ウィンドウペインを上下に並べて表示します。
    • [重ねて表示]: ウィンドウペインを重ねて表示します。
    • [レイアウト]:
      • [レイアウトに名前を付けて保存]: 現在のレイアウトに名前を付けて保存します。
      • [レイアウトを管理]: レイアウトのリストを表示し、リストを管理します。
    • [UI レイアウトをロック] および [UI レイアウトのロックを解除]: ウィンドウペインのレイアウトのロックとロックの解除を切り替えます。
    • チェックボックス付きのメニューアイテムのリスト: コントロールをクリックするとチェックマークが付き、アクティブ化します。
ツールバーでは、レイアウトのロックおよびロック解除、[ファイル] コマンドの保存、名前を付けて保存、すべて保存、新規作成、および開くのボタンを選択的に使用できます。

WinFormsApp の使用法

WinFormsApp はイベント、アニメーション、その他の型を含むスキーマを提供します。また、スキーマをロードする機能もあります。WinFormsApp には、DomNode に関連したイベントおよびリソースを処理するコードもありますが、アプリケーションデータの作成および変更のための編集機能はありません。

WinFormsApp のモジュール

モジュールには次のような機能があります。

  • Program.cs: Main プログラムを含みます。このプログラムが、使用されている ATF クラスおよび内部クラスをリストした TypeCatalog を作成します。
  • Editor.cs: IDocumentClient を実装して、ドキュメントを開き、表示し、保存し、閉じることができるようにします。
  • SchemaLoader.cs: イベントスキーマをロードし、データ拡張を DOM 型に登録し、型に表示情報と PropertyDescriptors の注釈を付けます。
  • EventContext.cs および WinGuiCommonDataContext.cs: データのコンテキストを提供します。

このセクションのトピック一覧

Clone this wiki locally