方法 : コンポーネントからフォームを表示する
更新 : 2007 年 11 月
ほとんどのコンポーネントにはビジュアル インターフェイスがありませんが、ユーザーがコンポーネントをビジュアルに操作できると便利な場合があります。たとえば、銀行口座を表すコンポーネントは、口座が超過引き出しになると特別な警告を表示する場合があります。このような機能は、クライアント アプリケーションに依存せずに、コンポーネント内で一定に保つ必要があります。フォームはクラスであるため、フォームのインスタンスを作成し、それをコンポーネントを通して表示するのは簡単です。
フォームの作成には、次の 2 つの手法があります。
コンポーネントの外部でフォームを作成する。この場合は、Visual Studio などのデザイン環境を使用してフォームの外観や動作を作成できます。
フォームをコンポーネント内部の入れ子クラスにする。この手法の長所は、フォームが常にコンポーネントの一部となるため、フォームの使用方法と公開方法を制御できることです。一番の短所は、フォームに対してデザイナを使用できず、すべて手作業によるコーディングでデザインする必要があることです。
コンポーネントからフォームを表示するには
コンポーネントで表示する Windows フォームを作成します。
表示するフォームがコンポーネントと同じアセンブリに含まれない場合、正しくビルドするには、フォームを含むアセンブリを参照する必要があります。
フォームの新しいインスタンスとしてローカル変数を宣言します。
たとえば、フォームの名前が MyForm であれば、コードは次のようになります。
Dim AFormInstance as New MyForm
MyForm AFormInstance = new MyForm();
MyForm AFormInstance = new MyForm();
次のコード例に示すように、フォームの Show メソッド、ShowDialog メソッド、および Hide メソッドを呼び出して表示を制御します。
AFormInstance.Show ' Displays the form. AFormInstance.ShowDialog ' Displays the form and waits for user interaction before continuing. AFormInstance.Hide ' Hides the form.
// Displays the form. AFormInstance.Show(); // Displays the form and waits for user interaction before continuing. AFormInstance.ShowDialog(); // Hides the form. AFormInstance.Hide();
// Displays the form. AFormInstance.Show(); // Displays the form and waits for user interaction before continuing. AFormInstance.ShowDialog(); // Hides the form. AFormInstance.Hide();