Wie kann ich eine Windows Forms Anwendung mit variablem Start Form erstellen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Setze in dem Event Handler die Main Form.

Beispiel:

Private Sub MyApplication_Startup(sender As Object, e As StartupEventArgs) Handles Me.Startup
  Dim window As Form = Nothing
  Dim param As String = "2"

  Select Case param
    Case "1"
      window = New Form1
    Case Else
      window = New Form2
  End Select

  Application.MainForm = window
End Sub

Je nach Wert von param (in dem Beispiel ist der natürlich noch nicht dynamisch) wird entweder Form1 oder Form2 geöffnet.

Wenn du anfangs kein Fenster anzeigen möchtest, brauchst du einen kleinen Umweg. Lege dir eine extra Form-Klasse an, die beim Laden direkt wieder versteckt wird.

Private Sub HideOnLoad(sender As Object, e As EventArgs) Handles MyBase.Load
  Hide()
  ShowInTaskbar = False
End Sub

Eine Instanz dieser Klasse muss bei Anwendungsstart dann als Hauptfenster gesetzt werden.