方法 : New キーワードを使用する
更新 : 2007 年 11 月
クラスのインスタンスを作成するには、New キーワードを使用します。整数型 (Integer) や倍精度浮動小数点型 (Double) などの値型とは異なり、オブジェクトは参照型であり、使用する前に明示的に作成しておく必要があります。2 つのコード例を次に示します。
Dim Button1 As System.Windows.Forms.Button
Dim Button2 As New System.Windows.Forms.Button()
最初のステートメントは、ボタン オブジェクトへの参照を格納できるオブジェクト変数を宣言しています。ただし、Button 型オブジェクトが割り当てられるまで、Button1 変数の値は Nothing です。2 番目のステートメントも、ボタン オブジェクトを格納できる変数を定義しています。ただし、New キーワードでボタン オブジェクトを作成し、そのボタン オブジェクトを Button2 変数に割り当てます。
フォームとコントロールは実際にはクラスです。このため、必要に応じて、New キーワードを使用してフォームとコントロールの新しいインスタンスを作成できます。
New キーワードでクラスの新しいインスタンスを作成するには
新しい Windows アプリケーション プロジェクトを開き、コマンド ボタンなどのコントロールを Form1 という名前のフォームに配置します。
コマンド ボタンの Click イベント プロシージャに次のコードを追加します。
Dim f As New Form1 f.Show()
アプリケーションを実行し、コマンド ボタンを数回クリックします。
前面のフォームを脇へ移動します。フォームはインターフェイス表示の設定されたクラスなので、フォームの複製を見ることができます。デザイン時には、それぞれの複製に同じコントロールが、元のフォームと同じ位置に配置されています。
New キーワードを使用して、クラス内でオブジェクトを作成できます。次に例を示します。
New キーワードによってクラスのインスタンスがどのように作成されるかを確認するには
新しいプロジェクトを開き、Form1 という名前のフォームにコマンド ボタンを配置します。
[プロジェクト] メニューの [クラスの追加] を選択し、プロジェクトにクラスを追加します。
新しいクラスに ShowMe.vb という名前を付けます。
ShowMe に次のプロシージャを追加します。
Public Class ShowMe Sub ShowFrm() Dim frmNew As Form1 frmNew = New Form1 frmNew.Show() frmNew.WindowState = FormWindowState.Minimized End Sub End Class
Button1 の Click イベントを処理するために、フォームに次のコードを追加します。
Protected Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Dim clsNew As New ShowMe clsNew.ShowFrm() End Sub
このコード例を使用するには、アプリケーションを実行し、コマンド ボタンを数回クリックします。ShowMe クラスの新しいインスタンスを作成するたびに、最小化されたフォームがタスクバーに表示されます。