VB.NET 画面遷移 新しいフォームを追加しよう!

こんにちは、ひろにも です。

今回は、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

 

実行してみてください。遷移先の画面を閉じるまでは、遷移元の画面が触れないと思います。

これが、モーダルウィンドウです。画面遷移については以上になります。

次回は、関数(ファンクションについて)まとめてみたいと思います。

 

VB.NETの記事一覧

おすすめの記事