Hat dir diese Antwort geholfen?

 
			 
Also: Du machst dir einfach noch ein extra Module, was du als Startpunkt festlegst. Darin rufst du jedes Form einzeln mit Application.Run auf. Die Forms an sich schließt du dann ganz normal mit Close()
Imports System
Imports System.Windows.Forms
Module Module1
    Dim value As String
    Sub Main()
        value = ""
        Application.Run(New Form1())
        Application.Run(New Form2(value))
    End Sub
    Sub ReportResult(ByVal s As String)
        value = s
    End Sub
End Module
Form1 hat ein Label (das zur Eingabe des Namens auffordert) und eine Textbox (wo der Name dann eigegeben werden soll). Und nen Button. Der Code sieht bei mir so aus:
Public Class Form1
    Public Sub New()
        ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
        InitializeComponent()
        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
    End Sub
    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Module1.ReportResult(TextBox1.Text)
        Me.Close()
    End Sub
End Class
Und Form2 hat einfach nur ein Label, das den Wert enthält, der in Form1 eingegeben wurde. Und nen Button zum Schließen.
Public Class Form2
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Me.Close()
    End Sub
    Public Sub New(ByRef val As String)
        ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
        InitializeComponent()
        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
        Label1.Text = "Hallo " + val
    End Sub
    Protected Overrides Sub Finalize()
        MyBase.Finalize()
    End Sub
End Class