Minimieren Sie Anwendungen in der Taskleiste

Adnan Ashraf 15 Februar 2024
  1. Windows Forms-Anwendung
  2. System Tray
  3. Taskleiste und Benachrichtigung
  4. Minimieren Sie die Windows Forms-Anwendung in die Taskleiste
  5. Abschluss
Minimieren Sie Anwendungen in der Taskleiste

In diesem Artikel wird das Minimieren von Windows Form-Anwendungen in die Taskleiste anstelle der Taskleiste mithilfe von C# erläutert. Bevor wir fortfahren, benötigen wir ein wenig Hintergrundwissen zu Windows Form-Anwendungen und dem System Tray, also fangen wir damit an.

Windows Forms-Anwendung

Windows Forms ist eine integrierte Bibliothek im .NET-Framework, die zum Erstellen von grafischen Benutzeroberflächen (GUIs) für Desktopanwendungen (und auch Web-Apps) verwendet wird.

Typische Steuerelemente in einer Windows Forms-Anwendung sind Schaltflächen, Menüs, Textfelder, Kontrollkästchen usw. Ein Anmelde- oder Anmeldeformular kann ein einfaches Beispiel für eine Windows Forms-Anwendung sein.

Weitere Informationen zur Window Form-Anwendung finden Sie hier.

System Tray

Fast alle Windows Forms-Apps verfügen über die Funktionalität, die Anwendung wie gewohnt auf die Taskleiste zu minimieren. Dies ist perfekt für Anwendungen, die häufig verwendet werden und einen schnellen Zugriff erfordern.

Was passiert aber, wenn wir ein Programm im Hintergrund laufen lassen müssen, das nur gelegentlich verwendet wird? Wenn wir eine solche App in Richtung Taskleiste minimieren, füllt sie die Taskleiste aus und die Taskleiste wird mit geöffneten Programmen überladen, die schwer zu navigieren sind.

Zu diesem Zweck können wir die Anwendung auf den System Tray minimieren. Die Taskleiste befindet sich in der rechten unteren Ecke der Taskleiste.

Jede Anwendung wird durch ein kleines Symbol im System Tray symbolisiert. Die Fähigkeit, leicht darauf zuzugreifen, ist immer noch da, aber es ist vor Ihrer Sicht verborgen.

Langlaufende Anwendungen wie Chats und Antivirensoftware verwenden häufig diese Methode, um die Sicht des Benutzers nicht zu behindern. Diese Apps arbeiten jedoch weiterhin im Hintergrund und können den Benutzer bei Bedarf oder wenn ein bestimmtes Ereignis eintritt, mit einem Sprechblasen-Tipp benachrichtigen.

Taskleiste und Benachrichtigung

Um die Taskleiste zu verwenden, haben wir das Steuerelement NotifyIcon unter dem Namensraum System.Windows.Forms verwendet.

Einige wichtige NotifyIcon-Eigenschaften sind wie folgt:

  • BalloonTipIcon: Zeigt das Symbol an, das mit der Ballonspitze erscheint.
  • BalloonTipText: Dieser Text erscheint in der Ballonspitze.
  • BalloonTipTitle: Dies ist der Titel, der dem Ballontipp gegeben wird.
  • Icon: Dies ist die wichtigste Eigenschaft, die einer im System Tray angezeigten Icon-Datei gesetzt werden muss. Es werden nur .ico-Dateien unterstützt.
  • Text: Dies ist der Text, der erscheint, wenn Sie Ihren Mauszeiger über das Symbol in der Taskleiste bewegen.
  • Sichtbar: Dies ist die Eigenschaft, um die Sichtbarkeit des Symbols in der Taskleiste einzustellen.

Einige Eigenschaften, die wir in unserer Anwendung festlegen werden, lauten wie folgt.

private void Form1_Load(object sender, EventArgs e) {
  notifyIcon1.BalloonTipTitle = "System Tray";
  notifyIcon1.BalloonTipText = "Some Notification";
  notifyIcon1.Text = "System Tray App";
}

Minimieren Sie die Windows Forms-Anwendung in die Taskleiste

Hier ist eine Schritt-für-Schritt-Anleitung zum Minimieren der Anwendung in der Taskleiste statt in der Taskleiste.

  • Öffnen Sie das Visual Studio. Nach dem Start von Visual Studio sollte folgendes Menü erscheinen:

    Visual Studio

  • Wählen Sie im Menü Create a new project, wie im Snippet oben gezeigt.
  • Erstellen Sie eine Windows Forms-Anwendung, indem Sie WindowsFormApp aus dem in der Anwendung angezeigten Menü auswählen. Klicken Sie dann auf die Schaltfläche Weiter.

    Projekt erstellen

  • Schließlich geben wir den Namen der Windows Forms-Anwendung ein und klicken auf die Schaltfläche Erstellen, wie in der folgenden Abbildung gezeigt:

    Projektname

  • Nach dem Erstellen einer Standard-Windows-Forms-Anwendung besteht die erste Aufgabe darin, das NotifyIcon aus der Symbolleiste zu nehmen und es in das Formular einzufügen. Doppelklicken Sie auf die Toolbox und wählen Sie das NotifyIcon aus dem Menü, wie in der folgenden Abbildung gezeigt:

    Taskleiste - NotifyIcon

  • Öffnen Sie danach das Eigenschaftsfenster von NotifyIcon und setzen Sie den sichtbaren Status auf False, wie in der folgenden Abbildung gezeigt:

    NotifyIcon

  • Wählen Sie ein Symbol für Ihre Anwendung aus, das in der Taskleiste angezeigt wird. Wenn Sie kein Symbol für Ihre Anwendung ausgewählt haben, wird die Anwendung nach dem Minimieren nicht in der Taskleiste angezeigt.
  • Fügen Sie den folgenden Code im NotifyIcon in der MouseDoubleClick-Methode hinzu:
    private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) {
      this.Show();
      notifyIcon1.Visible = false;
      WindowState = FormWindowState.Normal;
    }
    
  • Im nächsten Schritt fügen Sie unserem Formular ein Ereignis hinzu. Doppelklicken Sie dazu auf das Formular und wählen Sie im Event-Menü das Event resize aus, wie unten gezeigt:

    Größe des Formulars ändern

  • Fügen Sie nun den folgenden Code hinzu, um das Ereignis zu aktivieren.
    private void Form1_Resize(object sender, EventArgs e) {
      if (WindowState == FormWindowState.Minimized) {
        this.Hide();
        notifyIcon1.Visible = true;
        notifyIcon1.ShowBalloonTip(1000);
      } else if (FormWindowState.Normal == this.WindowState) {
        notifyIcon1.Visible = false;
      }
    }
    
  • Fügen Sie außerdem den folgenden Code in der Methode Form1_Load hinzu, um die verschiedenen Eigenschaften von NotifyIcon festzulegen.
    private void Form1_Load(object sender, EventArgs e) {
      notifyIcon1.BalloonTipTitle = "System Tray";
      notifyIcon1.BalloonTipText = "Some Notification";
      notifyIcon1.Text = "System Tray App";
    }
    
  • Wir sind fertig, also testen wir unsere Anwendung. Wenn wir die Anwendung ausführen, wird das folgende Formular angezeigt:

    Generiertes Formular

  • Die angegebene Abbildung zeigt den Status der Taskleiste vor dem Minimieren der App. Hier sehen Sie, dass die App in der Taskleiste angezeigt wird.

    System Tray Status Before Minimizing

  • Wenn wir im Formular auf die Minimieren-Schaltfläche klicken, wie unten gezeigt. Dann wird die Anwendung im System Tray minimiert.

    Generiertes Formular 2

  • Die Abbildung zeigt den Status der Taskleiste nach dem Minimieren der App. Hier können Sie sehen, dass die Anwendung in der Taskleiste angezeigt wird.

    System Tray Status After Minimizing

Abschluss

Die Windows Forms-Anwendungen sind standardmäßig so eingestellt, dass sie auf der Taskleiste minimiert werden. Anwendungen, die normalerweise im Hintergrund ausgeführt werden (z. B. Antivirensoftware), sollten jedoch nicht auf die Taskleiste minimiert werden, da es keine gute Idee ist, die Taskleiste für weniger häufig verwendete Hintergrundanwendungen zu überstürzen.

Dank des NotifyIcon in Windows Forms können wir diese Anwendungen überschreiben, um sie in die Taskleiste anstatt in die Taskleiste zu minimieren.