VBのフォーム(Form)について
Visual Basic(VB)における フォーム(Form) は、画面上に表示されるウィンドウであり、ユーザーインターフェース(UI)を構築するための基本的な単位です。ボタンやラベル、テキストボックスなどのコントロールを配置し、ユーザーとアプリケーションとのやりとりを行います。
フォームの基本構成
VBのフォームは System.Windows.Forms.Form
クラスを基に作成されており、プログラム内で Form1
などの名前で使用されます。フォームはアプリケーションの画面そのものであり、イベント駆動型の処理の中心となります。
フォームの作成と表示
Visual Studio では、新しいフォームは自動で Form1.vb
などとして作成されます。プログラムで別のフォームを表示するには、以下のように記述します。
Dim frm As New Form2()
frm.Show() ' 非モーダル表示
' frm.ShowDialog() ' モーダル表示(閉じるまで他操作不可)
フォームの主なイベント
Load
:フォームが最初に表示されるときに実行
Shown
:フォームが表示された直後
FormClosing
:閉じる前に実行(キャンセル可能)
FormClosed
:完全に閉じた後
例:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MsgBox("フォームが読み込まれました")
End Sub
コントロールとの関係
フォームは、ボタン(Button)、ラベル(Label)、テキストボックス(TextBox)などのコントロールを配置する「土台」です。これらのコントロールを配置して、イベントを使って動作を定義することで、ユーザーとのやり取りが可能になります。
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
lblMessage.Text = "ボタンがクリックされました"
End Sub
フォームのプロパティ
フォームには多数のプロパティがあり、画面の見た目や動作を設定できます。
Text
:タイトルバーに表示される文字
Size
:フォームのサイズ(Width, Height)
BackColor
:背景色
StartPosition
:初期表示位置
FormBorderStyle
:ウィンドウの枠スタイル
フォームの閉じ方
フォームを閉じるには Close()
メソッドを使用します。
Me.Close()
モーダルフォームを閉じた場合は、呼び出し元に制御が戻ります。
フォーム間のデータ受け渡し
複数のフォームを使う場合、一方のフォームから他方へ値を渡すことができます。
' 呼び出し元
Dim frm As New Form2()
frm.UserName = "田中"
frm.Show()
' Form2 側
Public UserName As String
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
lblName.Text = UserName
End Sub
まとめ
フォーム(Form)は、VBアプリケーションにおける画面の基本単位です。ユーザーとのやり取りの入口であり、コントロールを配置し、イベントを処理することで対話型のアプリケーションを実現します。フォームの特性やイベントの流れを理解することで、より実用的で使いやすいプログラムを作成できるようになります。