Incontro una difficoltà che normalmente non mi succede.

Da un form solitamente tramite un bottone chiudo la maschera corrente ed ne apro un'altro.
faccio un esempio:

codice:
 Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Form1.ShowDialog()
        Me.Close()
    End Sub
ma succede che chiude tutto ed esce,
è un modo sbagliato di chiudere il form per aprirne un'altro?

premetto che ho sempre fatto così senza problemi.