このチュートリアルでは Visual Studio IDE を紹介し、「Hello World」と表示する Windows フォームを持つ Windows アプリケーションのソリューションの作成方法について説明します。
このチュートリアルを実行するには、あらかじめ Microsoft Visual Studio と Enterprise Developer の両方をインストールしておく必要があります。
Visual Studio を起動する方法は、次のとおりです。
下の図には IDE が示されていますが、大きいペインに表示される情報は異なります。
大きいペインには、ソリューションとプロジェクトが開きます。現時点では、Visual Studio に関する最新情報を含むスタート ページが表示されています。作業を開始すると、このペインにコードが表示されます。
下部のペインは、出力ウィンドウです。ここには、IDE およびコンパイラのメッセージが表示されます。
右側のペインは、ソリューション エクスプローラーです。ここには、ソリューションおよびプロジェクトの構造が表示されます。ソリューション エクスプローラー ペインの下には、タブが表示されます。ソリューション エクスプローラーは、デフォルトで表示されます。
最初の作業は、ソリューションとプロジェクトの作成です。ソリューションは、アプリケーション作成のために連携して動作するプロジェクトを格納するコンテナーです。ソリューションの拡張子は .sln で、人が読んで理解できるテキスト ファイルです。Microsoft では、Visual Studio 以外ではファイルを編集しないことを推奨しています。
COBOL プロジェクトの拡張子は .cblproj です。この場合も人間が理解できるファイルですが、Microsoft では、編集しないことを推奨しています。プロジェクトのタイプが異なると、拡張子も異なります。たとえば、C# プロジェクトの拡張子は .csproj です。
ここでは、プロジェクトとソリューションを作成します。次の手順で行います:
テンプレート ペインの上のドロップダウン リストでは、ターゲット フレームワークのバージョンを変更できます。クライアントが使用しているフレームワークを選択して、アプリケーションでサポートされているクラスおよびメソッドがアプリケーションに含まれていることを確認します。このデモンストレーションでは、デフォルトの .NET Framework をそのまま使用できます。
[名前] フィールドと [ソリューション名] フィールドの名前が同じであることに注意してください。プロジェクトの名前を変更すると、ソリューションの名前が自動的に変更されます。
たとえば、c: ドライブに「Tutorials」というフォルダーを作成する場合は、場所を c:\tutorials に変更します。ソリューションは、プロジェクト名に対応したサブディレクトリ WinHello に保存されます。
ソリューション、プロジェクト、および空のフォームが作成されます。空のフォームは、フォーム デザイナで開かれます。ソリューション エクスプローラー ペインに、WinHello プロジェクトが表示されます。これには次が含まれます。
プロジェクト ディレクトリの内容を表示する場合は、次のように IDE から開くことができます。
ここでは、ページやフォームのボタンとラベルのペイントを行います。
ラベルは基本的にこの操作で消えますが、フォーム上には残るため、アプリケーションをビルドして実行する際に表示されます。ラベル コントロールの名前のプロパティは Label1 (または label1) のままです。
ここでは、イベント ハンドラーを追加し、ボタンをクリックすると「Hello World」と表示されるようにします。
コードに button1_Click というメソッドが生成されます。
button1_Click メソッドのコードを確認します。コードは単なるスケルトンで、何も行いません。手続き部は空です。このチュートリアルでは、アプリケーションの実行後に、残りのコードを確認します。
move "Hello World!" to self::label1::Text
set self::label1::Text to "Hello World!"
各プロジェクト タイプに対する 2 つのデフォルトのビルド構成として、デバッグおよびリリースがあります。これらの構成は、状況に応じてプロジェクトをビルドする方法を定義します。
プロジェクトをデバッグ用にビルドし、実行する方法は、次のとおりです。
[ビルド] メニューで、ソリューションやプロジェクトを、ビルドまたはリビルドするかを選択できます。[ビルド] を選択すると、前回のビルド後に変更されたファイルのみがビルドされます。[リビルド] を選択すると、前回のビルド後に変更があったかどうかにかかわらず、プロジェクト内のすべてのファイルがビルドされます。
プロジェクトを作成すると、プロジェクト全体のプロパティに、System アセンブリや Windows アプリケーションの System.Windows.Forms などの、プロジェクトで使用されるクラスを含むアセンブリへの参照が含まれます。これは、プロジェクト全体のプロパティの [名前空間] ページで確認できます。
他のアセンブリの他のクラスを使用するコードを作成する場合は、参照としてアセンブリを追加します。次の手順を行います。
プロジェクト プロパティにより、プロジェクトの特性の定義と、特にプロジェクトの動作を制御が可能です。
ソリューション エクスプローラーの下のプロパティ ペインに、プロジェクトのプロパティの概要がデフォルトで動的に表示されます。プロジェクト プロパティの概要の表示方法は次のとおりです。
プロジェクトのプロパティの詳細な内容は、ソリューション エクスプローラーでプロジェクトを選択して、[プロジェクト > ProjNameプロパティ] をクリックすると表示できます。ネイティブ プロジェクトまたはマネージ プロジェクトに指定できる全体プロパティは、すべての構成に適用することも、選択した設定 (デバッグやリリースなど) にのみ適用することもできます。
各プロジェクトは、1 つのコードアセンブリにビルドされます。
アセンブリについては、Visual Studio のヘルプを参照してください。Visual Studio のヘルプでは、アセンブリを「1 つの単位としてバージョンが設定されディプロイされた 1 つまたは複数のファイルの集合」と説明しています。アセンブリは、.NET フレームワーク アプリケーションの主要なビルド ブロックです。マネージ タイプとマネージ リソースはすべてアセンブリに格納され、アセンブリ内のみでアクセス可能であるか、または、他のアセンブリのコードからアクセス可能であるかがマークされます。
アセンブリは、セキュリティ面でも重要な役割を果たします。コード アクセス セキュリティ システムでは、アセンブリの情報を使用して、アセンブリ内のコードが与えられた特権セットを判断します。アセンブリの基本概念については、Visual Studio のヘルプを参照してください。
アセンブリは、プロジェクトをビルドすると、自動的に作成されます。アセンブリをグローバル アセンブリ キャッシュに含める場合は、厳密な名前のアセンブリを作成する必要があります。厳密な名前を使用すると、アセンブリのセキュリティを向上させ、マシン上のすべてのアプリケーションでそのアセンブリを共有できます。
このチュートリアルのページまたはフォームに対し、概して 2 つのパーシャル クラスがフォーム デザイナーによって作成されます。一方のパーシャル クラスには、アプリケーションの生成コードが含まれています。このコードは、編集や追加ができます。他方のパーシャル クラスは、ファイル Form1.Designer.cbl にあります。このファイルにはデザイナーに所有されているコードが含まれています。このコードは編集しないでください。
生成コードを含むパーシャル クラスには、特に次のものが含まれています。
デザイン ビューのコントロールをダブルクリックすると、クリック イベント ハンドラーが作成され、メソッドが生成コードに挿入されます。この方法で、Button1_Click イベント ハンドラーを作成しました。
イベント ハンドラーにより、イベント名の変更や、他のイベントの追加および削除が可能です。
イベント ハンドラーの名前を変更する方法は、次のとおりです。
(イベントはこのペインの [アクション] セクションにあります)。イベントをスクロールして、使用できるものを確認します。
ドロップダウン リストに、ボタン用の 2 つのクリック イベント ハンドラーがあることに注意してください。button1_Click イベント ハンドラーは削除して、その機能をreadButton1_Clickに移す必要があります。
set self::label1::Text to "Hello World!"
誤ってコントロール (ラベル コントロールなど) をダブルクリックした場合、不要なイベント ハンドラーが生成されます。このイベント ハンドラーは、コード ビューで単純に削除することはできません。イベント ハンドラー コードはデザインにもあるためです。つまり、この場合はイベント ハンドラーをデザイン ビューで削除する必要があります。その方法はイベント ハンドラーの名前を編集したときとほぼ同じですが、この場合は名前を編集するのではなく削除します。
ここでは、もう 1 つ別のフォームを追加してスタートアップ フォームとして使用します。
先に作成したフォームは、Form1 という名前になりました。アプリケーションを実行すると、このフォームが開きます。フォームの名前を変更する場合は、アプリケーションを起動するフォームの名前も変更する必要があります。同様に、このフォームを削除する場合は、別のフォームをスタートアップ フォームとして指定する必要があります。
この作業を実際に行ってみるために、もう 1 つフォームを追加し、これをスタートアップ フォームとして使用します。次の手順で行います。
IDE には、ステップ実行、データ項目の値の確認、ブレークポイントの設定などのデバッグ機能が用意されています。これらの機能を参照する方法は、次のとおりです。