次の方法で共有


トップレベル フォームのサンプル

更新 : 2007 年 11 月

このサンプルでは、Microsoft Word のような、複数のトップレベル フォームを持つアプリケーションの例を示します。

サンプルとそのインストール手順を取得するには

  • 次のいずれかを実行します。

    • [ヘルプ] メニューの [サンプル] をクリックします。

      サンプルの情報を示す Readme が表示されます。

    • Visual Studio 2008 のサンプルの Web サイトにアクセスします。ここには、サンプルの最新版が掲載されています。

    • Visual Studio をインストールしたコンピュータで、サンプルを検索します。既定では、サンプルおよび Readme ファイルは drive:\Program Files\Microsoft Visual Studio 9.0\Samples\lcid にインストールされています。Visual Studio の Express Edition については、すべてのサンプルがオンラインで提供されています。

詳細については、「サンプル ファイルの格納場所」を参照してください。

セキュリティに関するメモ :

このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。

このサンプルを実行するには

  1. F5 キーを押します。

  2. [ファイル] メニューの [New] コマンドを使用して複数の文書ウィンドウを作成し、すべての文書がタスク バーに表示されることを確認します。

  3. タスク マネージャを使用して、このアプリケーションのプロセスは 1 つのみが実行中であることを確認します。

使用例

文書を扱うアプリケーションの多くは、複数ウィンドウをサポートしています。各文書をそれぞれ別個のウィンドウで開き、それらがタスク バーに表示されます。文書間の切り替えには Alt + Tab キーを使用できますが、各文書をそれぞれ別個のプロセスで読み込む場合のようなオーバーヘッドはかかりません。このサンプルは、その動作を実装します。

アプリケーションのスタートアップ オブジェクトは、FormsManager というクラス内の Sub Main メソッドです。Main メソッドでは、FormsManager クラスの NewForm メソッドを呼び出して新しいフォーム インスタンスを作成し、その新しいフォームを List オブジェクトに追加します。最初のフォームを作成したら、Application.Run を呼び出して、メイン アプリケーション スレッドを開始します。このため、最初のフォームを閉じてもプロセスは終了しません。各文書フォームには、[New] メニュー項目が用意されています。このメニュー項目がクリックされると、NewForm メソッドを再度呼び出し、新しい文書フォームを開きます。アプリケーションの起動時に Sub Main で開いたのと同様です。

各フォームには、[閉じる] および [終了] メニュー項目も用意されています。[閉じる] がクリックされると、クローズ処理を開始します。各フォームには Closing イベントがあります。これにより、文書の内容が変更されているかどうかの確認と、その場合に保存を実行するかどうかユーザーに指定してもらう処理を、フォームのコードで行うことができます。

変更されている文書を閉じるとき (そのフォームを閉じるか、またはアプリケーションを終了するとき) には、フォームの内容を保存するかどうかを問い合わせるダイアログ ボックスが表示されます。[はい] をクリックすると、コードはフォームの Save メソッドを呼び出し、フォームを閉じます。[No] をクリックすると、フォームはそのまま閉じます。[キャンセル] をクリックすると、フォームは閉じず、終了処理を中断するようアプリケーションに通知するカスタム イベントが発生します。このアプリケーションでは、ファイルを保存するためのファイル I/O は実際には実行していません。

参照

参照

Form.Closing

Application.Run