こんにちは、ひろにも です。
今回は、VB.NETでの画面遷移について、まとめていこうと思います。
画面遷移というより、VB.NETでは、新しいフォームを立ち上げるといったイメージです。
- form.Show()
- form.ShowDialog()
を使います。
新しいフォームの作成
まずは、Form1のレイアウトを作成しましょう。画面遷移用のボタンを1つ作成してください。
「Form2を表示ボタン」を作りました。
次に、画面遷移先のFormを作成しましょう。
フォームを作成するには、プロジェクトを右クリック→追加→新しい項目 を選択しましょう。
そして、「Windowsフォーム」を選択します。この時、下のテキストボックスで名前も付けれます。
私は、Form2で作成します。画面レイアウトも好きなように作成しましょう!
ボタンを1つ作成しておいてください。
ボタンの作成方法がわからなければ、ここをどうぞ~
画面遷移(show)
それでは、画面遷移を組み込んでいきましょう。
まず、元画面(Form1)のデザインを開いて、「Form2を表示ボタン」にボタンイベントを作成してください。
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim f2 As New Form2
f2.Show()
End Sub
End Class
それでは、実行してみましょう。Form1が表示された後、ボタンを押してみましょう。
画面が表示されました。
一度、処理を終了して、Form2のボタン「画面を閉じる」にボタン処理を作成しましょう。
me.close()で画面を閉じることができます。
Public Class Form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'画面を閉じる
Me.Close()
End Sub
End Class
画面を表示することができました。
でも前の画面が残っているのが嫌だという人は、前の画面をVisible=Falseにしてやりましょう。
Form1ソース
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'自画面を非表示
Me.Visible = False
'Form2を表示
Dim f2 As New Form2
f2.Show()
End Sub
End Class
Form2では、「画面を閉じる」ボタンを押したときに、非表示にしたForm1を表示状態にします。
Public Class Form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Form1を表示
Dim f1 As New Form1
f1.Visible = True
'画面を閉じる
Me.Close()
End Sub
End Class
実行してみてください。いい感じに画面遷移ができていると思います。
Form2.Show()
モーダルウィンドウとは(ShowDialog)
ShowDialog()とは、遷移先の画面を閉じるまでは、遷移元の画面を触ることができないようにすることができます。
モーダルウィンドウといいいます。
イメージをつかむために、実行しましょう。
遷移元画面
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'Form2を表示
Form2.ShowDialog()
End Sub
End Class
遷移先
Public Class Form2
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'画面を閉じる
Me.Close()
End Sub
End Class
実行してみてください。遷移先の画面を閉じるまでは、遷移元の画面が触れないと思います。
これが、モーダルウィンドウです。画面遷移については以上になります。
次回は、関数(ファンクションについて)まとめてみたいと思います。