Gewusst wie: Ausblenden eines Windows Forms beim Start

Um das Hauptformular einer Windows-basierten Anwendung beim Start der Anwendung auszublenden, müssen Sie die Startlogik der Anwendung in eine gesonderte Klasse verschieben. Es ist nicht möglich, für ihre Visible-Eigenschaft einfach den Wert false festzulegen.

Nachdem Sie die Lebensdauer der Anwendung von der Lebensdauer des Formulars getrennt haben, können Sie Formulare ein- bzw. ausblenden, da die Anwendung beendet wird, wenn Sie die Klasse "schließen", die für den Anwendungsstart verwendet wurde.

Tipp

Da ein Modul unsichtbar ist, wenn sein Code ausgeführt wird, enthält die im Folgenden beschriebene Prozedur einen Schritt zum Hinzufügen eines Meldungsfeldes für das Startmodul. Damit soll lediglich angezeigt werden, dass die Anwendung ausgeführt wird.

So legen Sie fest, dass ein Formular beim Start nicht sichtbar ist

  1. Führen Sie einen der folgenden Schritte aus:

    1. Visual Basic: Fügen Sie der Windows-basierten Anwendung ein Modul hinzu, indem Sie mit der rechten Maustaste auf das Projekt klicken und Modul hinzufügen wählen.

    2. Visual C#: Erstellen Sie eine neue Klasse.

    3. Visual C++: Öffnen Sie Form1.cpp der Windows-basierten Anwendung.

      Weitere Informationen zum Erstellen einer Windows-basierten Anwendung finden Sie unter Gewusst wie: Erstellen eines neuen Windows Forms-Anwendungsprojekts.

  2. Erstellen Sie im Modul oder in der Klasse eine Main-Unterroutine, die als Startobjekt für das Projekt fungieren kann.

    Dies wird im folgenden Codebeispiel veranschaulicht.

    Sub Main()
       ' Instantiate a new instance of Form1.
       Dim f1 as New Form1()
       ' Display a messagebox. This shows the application is running, 
       ' yet there is nothing shown to the user. This is the point at 
       ' which you customize your form.
       System.Windows.Forms.MessageBox.Show( _
          "The application is running now, but no forms have been shown.")
       ' Customize the form.
       f1.Text = "Running Form"
       ' Show the instance of the form modally.
       f1.ShowDialog()
    End Sub
    
    // All methods must be contained in a class.
    // This class is added to the namespace containing the Form1 class.
    class MainApplication
    {
       public static void Main()
       {
          // Instantiate a new instance of Form1.
          Form1 f1 = new Form1();
          // Display a messagebox. This shows the application 
          // is running, yet there is nothing shown to the user. 
          // This is the point at which you customize your form.
          System.Windows.Forms.MessageBox.Show("The application "
             + "is running now, but no forms have been shown.");
          // Customize the form.
          f1.Text = "Running Form";
          // Show the instance of the form modally.
          f1.ShowDialog();
       }
    }
    
    // You can use this Mian method in the Program class (Program.jsl):
    public static void main(String[] args)
    {
       // Instantiate a new instance of Form1.
       Form1 f1 = new Form1();
       // Display a messagebox. This shows the application 
       // is running, yet there is nothing shown to the user. 
       // This is the point at which you customize your form.
       System.Windows.Forms.MessageBox.Show("The application "
          + "is running now, but no forms have been shown.");
       // Customize the form.
       f1.set_Text("Running Form");
       // Show the instance of the form modally.
       f1.ShowDialog();
    }
    
    void Main()
    {
       // Instantiate a new instance of Form1.
       Form1^ f1 = gcnew Form1();
       // Display a messagebox. This shows the application 
       // is running, yet there is nothing shown to the user. 
       // This is the point at which you customize your form.
       System::Windows::Forms::MessageBox::Show(
          "The application is running now, "
          "but no forms have been shown.");
       // Customize the form.
       f1->Text = "Running Form";
       // Show the instance of the form modally.
       f1->ShowDialog();
    }
    

    Tipp

    Das Meldungsfeld im obigen Codebeispiel wird mit einem vollqualifizierten Namespace angegeben, da das erstellte Modul im Gegensatz zu einem Standard-Windows Form standardmäßig keinen Namespace importiert. Weitere Informationen über das Importieren von Namespaces finden Sie unter Verweise und die Imports-Anweisung (Visual Basic), using-Direktive (C#-Referenz) (Visual C#) oder using Directive (C++) (Visual C++). Mit Application.Run() wird das Nachrichtensystem gestartet, das für das Verhalten bestimmter Anwendungen wichtig ist. Darüber hinaus kann damit das Verhalten von Formularen in bestimmten Abschnitten des Lebenszyklus der Anwendung beeinflusst werden, beispielsweise beim Herunterfahren. Weitere Informationen finden Sie unter Application.Run-Methode.

  3. Wählen Sie Sub Main anstelle von Form1 als Startobjekt für das Projekt.

    Legen Sie für Visual C# das Startobjekt entsprechend dem Namen der Klasse im obigen Codebeispiel fest. Weitere Informationen finden Sie unter Gewusst wie: Auswählen des Startformulars in einer Windows-Anwendung sowie unter Gewusst wie: Ändern des Startobjekts für eine Anwendung (Visual Basic).

    Tipp

    Überspringen Sie diesen Schritt für Windows-basierte Anwendungen in Visual C++.

  4. Drücken Sie F5, um das Projekt auszuführen.

    Nach dem Start der Anwendung wird zuerst der Code in Main() ausgeführt, während die Instanz von Form1 so lange unsichtbar bleibt, bis der entsprechende Code für die Anzeige ausgeführt wird. So können Sie in der Instanz von Form1 im Hintergrund beliebige Aktionen ausführen, ohne dass Benutzer dies zur Kenntnis nehmen.

Siehe auch

Aufgaben

Gewusst wie: Anzeigen modaler und nicht modaler Windows Forms

Gewusst wie: Festlegen der Bildschirmposition von Windows Forms

Weitere Ressourcen

Ändern der Darstellung von Windows Forms