Minimieren Sie Anwendungen in der Taskleiste
- Windows Forms-Anwendung
- System Tray
- Taskleiste und Benachrichtigung
- Minimieren Sie die Windows Forms-Anwendung in die Taskleiste
- Abschluss
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:
-
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ächeWeiter
. -
Schließlich geben wir den Namen der Windows Forms-Anwendung ein und klicken auf die Schaltfläche
Erstellen
, wie in der folgenden Abbildung gezeigt: -
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 dasNotifyIcon
aus dem Menü, wie in der folgenden Abbildung gezeigt: -
Öffnen Sie danach das Eigenschaftsfenster von
NotifyIcon
und setzen Sie den sichtbaren Status aufFalse
, wie in der folgenden Abbildung gezeigt: -
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 derMouseDoubleClick
-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: -
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 vonNotifyIcon
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:
-
Die angegebene Abbildung zeigt den Status der Taskleiste vor dem Minimieren der App. Hier sehen Sie, dass die App in der Taskleiste angezeigt wird.
-
Wenn wir im Formular auf die Minimieren-Schaltfläche klicken, wie unten gezeigt. Dann wird die Anwendung im System Tray minimiert.
-
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.
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.