Vorgehensweise: Zuordnen eines Kontextmenüs zu einer NotifyIcon-Komponente in Windows Forms
Hinweis
Obwohl MenuStrip und ContextMenuStrip die Steuerelemente MainMenu und ContextMenu der Vorgängerversionen ersetzen und um zusätzliche Funktionen erweitern, bleiben MainMenu und ContextMenu sowohl für Abwärtskompatibilität als auch für die künftige Verwendung erhalten, falls Sie dies wünschen.
Die NotifyIcon-Komponente zeigt ein Symbol im Statusbenachrichtigungsbereich der Taskleiste an. In der Regel können Sie bei Anwendungen mit der rechten Maustaste auf dieses Symbol klicken, um Befehle an die Anwendung zu senden, zu der es gehört. Indem Sie eine ContextMenu-Komponente der NotifyIcon-Komponente zuordnen, können Sie Ihren Anwendungen diese Funktionalität hinzufügen.
Hinweis
Wenn Sie möchten, dass Ihre Anwendung beim Start minimiert wird, während eine Instanz der NotifyIcon-Komponente auf der Taskleiste angezeigt wird, legen Sie die WindowState-Eigenschaft des Hauptformulars auf Minimized fest. Stellen Sie sicher, dass die Visible-Eigenschaft der NotifyIcon-Komponente auf true
festgelegt ist.
So ordnen Sie der NotifyIcon-Komponente zur Entwurfszeit ein Kontextmenü zu
Fügen Sie Ihrem Formular eine NotifyIcon-Komponente hinzu, und legen Sie die wichtigen Eigenschaften fest, z. B. die Eigenschaften Icon und Visible.
Weitere Informationen finden Sie unter Vorgehensweise: Hinzufügen von Anwendungssymbolen zur Taskleiste mit der NotifyIcon-Komponente in Windows Forms.
Fügen Sie Ihrem Windows-Formular eine ContextMenu-Komponente hinzu.
Fügen Sie dem Kontextmenü Menüelemente hinzu, die die Befehle darstellen, die Sie zur Laufzeit verfügbar machen möchten. Dies ist auch ein guter Zeitpunkt, diese Menüelemente mit Optimierungen zu versehen, z. B. Tastenkombinationen.
Legen Sie die ContextMenu-Eigenschaft der NotifyIcon-Komponente auf das von Ihnen hinzugefügte Kontextmenü fest.
Wenn diese Eigenschaft festgelegt ist, wird das Kontextmenü angezeigt, sobald Sie auf der Taskleiste das Symbol klicken.
So ordnen Sie der NotifyIcon-Komponente programmgesteuert ein Kontextmenü zu
Erstellen Sie eine Instanz der NotifyIcon-Klasse und eine ContextMenu-Klasse, mit den für die Anwendung erforderlichen Eigenschaftseinstellungen (Eigenschaften Icon und Visible für die NotifyIcon-Komponente, Menüelemente für die ContextMenu-Komponente).
Legen Sie die ContextMenu-Eigenschaft der NotifyIcon-Komponente auf das von Ihnen hinzugefügte Kontextmenü fest.
Wenn diese Eigenschaft festgelegt ist, wird das Kontextmenü angezeigt, sobald Sie auf der Taskleiste das Symbol klicken.
Hinweis
Im folgenden Codebeispiel wird eine einfache Menüstruktur erstellt. Sie müssen die Menüoptionen so anpassen, dass sie zur Anwendung passen, die Sie entwickeln. Zusätzlich sollten Sie Code schreiben, um die Click-Ereignisse für diese Menüelemente zu behandeln.
Public ContextMenu1 As New ContextMenu Public NotifyIcon1 As New NotifyIcon Public Sub CreateIconMenuStructure() ' Add menu items to shortcut menu. ContextMenu1.MenuItems.Add("&Open Application") ContextMenu1.MenuItems.Add("S&uspend Application") ContextMenu1.MenuItems.Add("E&xit") ' Set properties of NotifyIcon component. NotifyIcon1.Icon = New System.Drawing.Icon _ (System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ & "\Icon.ico") NotifyIcon1.Text = "Right-click me!" NotifyIcon1.Visible = True NotifyIcon1.ContextMenu = ContextMenu1 End Sub
public NotifyIcon notifyIcon1 = new NotifyIcon();
public ContextMenu contextMenu1 = new ContextMenu();
public void createIconMenuStructure()
{
// Add menu items to shortcut menu.
contextMenu1.MenuItems.Add("&Open Application");
contextMenu1.MenuItems.Add("S&uspend Application");
contextMenu1.MenuItems.Add("E&xit");
// Set properties of NotifyIcon component.
notifyIcon1.Icon = new System.Drawing.Icon
(System.Environment.GetFolderPath
(System.Environment.SpecialFolder.Personal)
+ @"\Icon.ico");
notifyIcon1.Visible = true;
notifyIcon1.Text = "Right-click me!";
notifyIcon1.Visible = true;
notifyIcon1.ContextMenu = contextMenu1;
}
public:
System::Windows::Forms::NotifyIcon ^ notifyIcon1;
System::Windows::Forms::ContextMenu ^ contextMenu1;
void createIconMenuStructure()
{
// Add menu items to shortcut menu.
contextMenu1->MenuItems->Add("&Open Application");
contextMenu1->MenuItems->Add("S&uspend Application");
contextMenu1->MenuItems->Add("E&xit");
// Set properties of NotifyIcon component.
notifyIcon1->Icon = gcnew System::Drawing::Icon
(String::Concat(System::Environment::GetFolderPath
(System::Environment::SpecialFolder::Personal),
"\\Icon.ico"));
notifyIcon1->Text = "Right-click me!";
notifyIcon1->Visible = true;
notifyIcon1->ContextMenu = contextMenu1;
}
Hinweis
Sie müssen notifyIcon1
und contextMenu1,
initialisieren. Dazu können Sie die folgenden Anweisungen in den Konstruktor Ihres Formulars einfügen:
notifyIcon1 = gcnew System::Windows::Forms::NotifyIcon();
contextMenu1 = gcnew System::Windows::Forms::ContextMenu();
Weitere Informationen
.NET Desktop feedback
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für