Windows フォームの概要

更新 : 2007 年 11 月

ここでは、Windows フォームの主要なプログラミング機能であるスマート クライアント アプリケーションの利点、および Windows フォームを使用して、今日の企業とエンド ユーザーのニーズを満たすスマート クライアントを作成する方法について説明します。

Windows フォームとスマート クライアント アプリケーション

スマート クライアントは、Windows フォームを使用して開発します。スマート クライアントは、グラフィックスが多用されたアプリケーションです。スマート クライアントは、配置と更新が簡単で、インターネットと接続しているときも接続していないときも作業でき、従来の Windows ベースのアプリケーションよりも安全な方法でローカル コンピュータのリソースにアクセスできます。

充実した対話形式のユーザー インターフェイスの構築

Windows フォームとは、.NET Framework 用のスマート クライアント テクノロジであり、ファイル システムの読み書きなどの一般的なアプリケーション タスクを簡単にするマネージ ライブラリのセットです。Visual Studio などの開発環境を使用して、情報の表示、ユーザーに対する入力要求、ネットワーク経由でのリモート コンピュータとの通信を実行する Windows フォームのスマート クライアント アプリケーションを作成できます。

Windows フォームでいうフォームとは、ユーザーに対して情報を表示する外観部分の土台のことです。Windows フォーム アプリケーションの作成では、フォーム上にコントロールを追加し、ユーザー アクション (マウスのクリックやキーの押下など) に対する応答を開発するという方法が一般的です。コントロールとは、データの表示やデータ入力の受け付けを行う、個別のユーザー インターフェイス (UI) 要素です。

ユーザーがフォームやそのコントロールのいずれかに対してなんらかの操作を行うと、その操作でイベントが生成されます。アプリケーションでは、こうしたイベントに応答するためのコードを使用して、イベントの発生時に処理を行います。詳細については、「Windows フォーム内でのイベント ハンドラの作成」を参照してください。

Windows フォームにはさまざまなコントロールが用意されており、フォーム上に追加できます。たとえば、テキスト ボックス、ボタン、ドロップダウン ボックス、オプション ボタンを表示するコントロールがあるのに加え、Web ページを表示するコントロールもあります。フォーム上で使用できるすべてのコントロールの一覧については、「Windows フォームで使用するコントロール」を参照してください。Windows フォームでは、既存のコントロールでニーズに対応できない場合には、UserControl クラスを使用して独自のカスタム コントロールを作成することもできます。

Windows フォームには、Microsoft Office のようなハイエンド アプリケーションの機能をエミュレートする、豊富な UI コントロールが用意されています。ToolStrip コントロールおよび MenuStrip コントロールを使用すると、テキストおよびイメージを含むツール バーやメニューの作成、サブメニューの表示、および他のコントロール (テキスト ボックスやコンボ ボックスなど) のホストが可能です。

Visual Studio で Windows フォーム デザイナをドラッグ アンド ドロップすると、Windows フォーム アプリケーションを簡単に作成できます。カーソルでコントロールを選択するだけで、フォームの任意の位置に追加できます。このデザイナには、グリッド線やスナップ線などのツールが備わっており、コントロールの配置で苦労する必要がありません。また、Visual Studio を使用する場合でも、コマンド ラインでコンパイルする場合でも、FlowLayoutPanelTableLayoutPanel、および SplitContainer の各コントロールを使用して、短時間で高度なフォーム レイアウトを作成できます。

独自のカスタム UI 要素を作成する必要がある場合には、線、円、およびその他の形状をフォーム上に直接描画するために必要な多数のクラスが、System.Drawing 名前空間に含まれています。

8bxxy49h.alert_note(ja-jp,VS.90).gifメモ :

Windows フォーム コントロールは、複数のアプリケーション ドメイン間でマーシャリングされるようにデザインされていません。このため、Microsoft では、AppDomain 境界を越えた Windows フォーム コントロールの受け渡しをサポートしていません。Control の基本型である MarshalByRefObject はこれが可能であることを示しているように見えますが、実際はそうではありません。複数のアプリケーション ドメインを含む Windows フォーム アプリケーションは、Windows フォーム コントロールがアプリケーション ドメイン境界を越えて渡されない限り、サポートされます。

フォームとコントロールの作成に関するヘルプ

これらの機能の詳細な使用手順については、次のヘルプ トピックを参照してください。

説明

ヘルプ トピック

Visual Studio を使用した、新しい Windows フォーム アプリケーションの作成

チュートリアル : 簡単な Windows フォームの作成

フォームでのコントロールの使用

方法 : Windows フォームにコントロールを追加する

フォームおよびフォームのコントロールからのイベント処理

方法 : デザイナを使用してイベント ハンドラを作成する

ToolStrip コントロールの使用

方法 : デザイナを使用して標準アイテムで基本的な Windows フォーム ToolStrip を作成する

System.Drawing を使用した、グラフィックスの作成

グラフィックス プログラミングについて

カスタム コントロールの作成

方法 : UserControl クラスを継承する

データの表示と操作

多くのアプリケーションでは、データベース、XML ファイル、XML Web サービス、およびその他のデータ ソースのデータを表示する必要があります。Windows フォームでは、DataGridView コントロールと呼ばれる柔軟なコントロールを使用して、各データを固有のセルに割り当てることによって、このような表形式のデータを従来の行と列の形式で表示します。DataGridView にはさまざまな機能があります。個々のセルの表示形式のカスタマイズ、任意の行や列のロック、セル内での複合コントロールの表示などです。

Windows フォームのスマート クライアントでは、ネットワーク経由でのデータ ソースへの接続も簡単です。Visual Studio 2005 および .NET Framework 2.0 の Windows フォームの新機能である BindingSource コンポーネントは、データ ソースへの接続を表し、コントロールへのデータのバインド、前のレコードや次のレコードへの移動、レコードの編集、元のソースへの変更の保存などを実行するためのメソッドを公開します。BindingNavigator コントロールは、BindingSource コンポーネントの簡単なインターフェイスとなるもので、ユーザーがレコード間を移動できます。

[データ ソース] ウィンドウを使用すると、データ バインド コントロールを簡単に作成できます。このウィンドウには、プロジェクトのデータベース、Web サービス、オブジェクトなどのデータ ソースが表示されます。このウィンドウの項目をプロジェクト内のフォームにドラッグすると、データ バインド コントロールを作成できます。また、[データ ソース] ウィンドウから既存のコントロールにオブジェクトをドラッグするという方法でも、既存のコントロールをデータにバインドできます。

Windows フォームでは、設定もデータ バインディングの一種として管理できます。大半のスマート クライアント アプリケーションでは、実行時の状態 (前回のフォームのサイズなど) についての情報や、ユーザー設定のデータ (保存するファイルの既定の場所など) を保持しておく必要があります。アプリケーション設定機能では、両方の種類の設定をクライアント コンピュータに格納するための簡単な方法が用意されており、これらの要件に対応できます。Visual Studio またはコード エディタを使用してこれらの設定を定義すると、XML として保持され、実行時には自動でメモリに読み込まれます。

データの表示と操作に関するヘルプ

これらの機能の詳細な使用手順については、次のヘルプ トピックを参照してください。

説明

ヘルプ トピック

BindingSource コンポーネントの使用

方法 : デザイナを使用して Windows フォーム コントロールを BindingSource コンポーネントにバインドする

ADO.NET データ ソースの操作

方法 : Windows フォーム BindingSource コンポーネントで ADO.NET データを並べ替える/フィルタ処理する

[データ ソース] ウィンドウの使用

チュートリアル : Windows アプリケーションのフォームでのデータの表示

アプリケーション設定の使用

方法 : デザイナを使用してアプリケーション設定を作成する

方法 : アプリケーション設定を作成する

クライアント コンピュータへのアプリケーションの配置

アプリケーションを作成したら、ユーザーに送る必要があります。各自のクライアント コンピュータにアプリケーションをインストールして実行してもらうためです。ClickOnce テクノロジを使用すると、数回クリックするだけで Visual Studio の中からアプリケーションを配置でき、Web 上のアプリケーションを指す URL をユーザーに提供できます。ClickOnce は、アプリケーションの要素と依存関係をすべて管理し、アプリケーションがクライアント コンピュータに適切にインストールされるようにします。

ClickOnce アプリケーションは、ユーザーがネットワークに接続しているときにのみ動作するように設定することも、オンラインでもオフラインでも動作するように設定することもできます。アプリケーションでオフライン操作をサポートするように指定すると、ClickOnce によって、ユーザーの [スタート] メニューにアプリケーションへのリンクが追加されます。URL を使用しなくてもアプリケーションを開くことができるようになります。

アプリケーションを更新するときには、新しい配置マニフェストと、アプリケーションの新しいコピーを Web サーバーに対して発行します。ClickOnce は、更新が利用可能であることを検出し、ユーザーのインストール内容をアップグレードします。古いアセンブリを更新するためのカスタム プログラミングは不要です。

ClickOnce アプリケーションの配置に関するヘルプ

ClickOnce の詳細については、「ClickOnce の配置の概要」を参照してください。これらの機能の詳細な使用手順については、次のヘルプ トピックを参照してください。

説明

ヘルプ トピック

ClickOnce によるアプリケーションの配置

方法 : ClickOnce アプリケーションを発行する

チュートリアル : ClickOnce アプリケーションを手動で配置する

ClickOnce 配置の更新

方法 : ClickOnce アプリケーションの更新を管理する

ClickOnce によるセキュリティの管理

方法 : ClickOnce のセキュリティ設定を有効にする

その他のコントロールと機能

Windows フォームには、共通のタスクをすばやく簡単に実装するための機能が、他にもたくさんあります。ダイアログ ボックスの作成、印刷、ヘルプおよびドキュメントの追加、複数言語へのアプリケーションのローカライズのサポートなどです。また、Windows フォームは信頼性の高いセキュリティ システムを持つ .NET Framework に基づいています。そのため、より安全性の高いアプリケーションをリリースできます。

その他のコントロールと機能の実装に関するヘルプ

これらの機能の詳細な使用手順については、次のヘルプ トピックを参照してください。

説明

ヘルプ トピック

フォームのコンテンツの印刷

方法 : Windows フォームでグラフィックスを印刷する

方法 : Windows フォームで複数ページのテキスト ファイルを印刷する

Windows フォーム アプリケーションのグローバル化

チュートリアル : Windows フォームのローカリゼーション

Windows フォームのセキュリティの詳細

Windows フォームのセキュリティの概要

参照

処理手順

チュートリアル : 簡単な Windows フォームの作成

概念

.NET Framework 2.0 の Windows フォームへの追加機能

アプリケーション設定の概要

ClickOnce の配置の概要

参照

ToolStrip コントロールの概要 (Windows フォーム)

DataGridView コントロールの概要 (Windows フォーム)

BindingSource コンポーネントの概要

その他の技術情報

Windows フォームについて

新しい Windows フォームの作成