Windows フォームの概要

次の概要では、スマート クライアント アプリケーションの利点、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 名前空間に、線、円、およびその他の図形をフォーム上に直接表示するクラスが多数含まれています。

注意

Windows フォーム コントロールは、アプリケーション ドメイン間でマーシャリングするよう設計されていません。 このため、MarshalByRefObjectControl 基本型で可能であるように見えても、Microsoft は、AppDomain 境界間の Windows フォーム コントロールの引き渡しはサポートしていません。 複数のアプリケーション ドメインを持つ Windows フォーム アプリケーションは、Windows フォーム コントロールがアプリケーション ドメインの境界を越えて渡されない限りサポートされます。

フォームとコントロールを作成する

これらの機能を使用する方法の手順を追った説明については、次のヘルプ トピックを参照してください。

説明 ヘルプ トピック
フォーム上のコントロールを使用する 方法: Windows フォームにコントロールを追加する
ToolStrip コントロールを使用する 方法: デザイナーを使用して標準アイテムで基本的な ToolStrip を作成する
System.Drawing を使用してグラフィックスを作成する グラフィックス プログラミングについて
カスタム コントロールの作成 方法: UserControl クラスを継承する

データを表示して操作する

多くのアプリケーションは、データベース、XML ファイル、XML Web サービス、またはその他のデータ ソースからデータを表示する必要があります。 Windows フォームは、従来の行と列の形式である、表形式のデータを表示するために、DataGridView コントロールという名前の柔軟なコントロールを提供しているため、すべてのデータが独自のセルを占有します。 DataGridView を使用すると、個別のセルの外観のカスタマイズ、任意の列と行のその場でのロック、セルの内部の複雑なコントロールの表示や、その他の機能が可能になります。

ネットワーク経由のデータ ソースへの接続は、Windows フォームのスマート クライアントを使用すればシンプルなタスクです。 BindingSource コンポーネントは、データ ソースへの接続を表すものであり、データをコントロールにバインドしたり、前と次のレコードに移動したり、レコードを編集したり、変更内容を元のソースに保存したりするためのメソッドが公開されます。 BindingNavigator コントロールは、ユーザーがレコード間を移動する BindingSource コンポーネントに対して、シンプルなインターフェイスを提供します。

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

Windows フォームで管理できる別の種類のデーデータ バインドは "設定" です。 ほとんどのスマート クライアント アプリケーションは、フォームの前回のサイズなどの実行時の状態に関する情報を保持し、保存されたファイルの既定の場所などのユーザー設定のデータを保持する必要があります。 アプリケーション設定機能は、クライアント コンピューターに両方の種類の設定を保存する簡単な方法を提供することで、こうした要件に対応します。 Visual Studio またはコード エディターを使用してこれらの設定を定義した後、設定は XML として永続化され、実行時に自動的にメモリに読み取られます。

データを表示して操作する

これらの機能を使用する方法の手順を追った説明については、次のヘルプ トピックを参照してください。

説明 ヘルプ トピック
BindingSource コンポーネントを使用する 方法: デザイナーを使用して Windows フォーム コントロールを BindingSource コンポーネントにバインドする
ADO.NET データ ソースを操作する 方法: Windows フォーム BindingSource コンポーネントで ADO.NET データを並べ替える/フィルター処理する
[データ ソース] ウィンドウを使用する Visual Studio でのデータへの 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 フォームのセキュリティの概要

関連項目