Menü im Systray / Anfängerfrage

07/04/2010 - 22:17 von werner meyer | Report spam
Hallo,
ich möchte gerne (beim klick auf ein Icon im Systray)
folgendes Menü haben:
(leider bekomme ich es nicht hin eine Gruppe zu erstellen)

Start
Programm1
Programm2
Eigenschaften
Beenden

Code:

private NotifyIcon notifyIcon;
private ContextMenu notificationMenu;

#region Initialize icon and menu
public NotificationIcon()
{
notifyIcon = new NotifyIcon();
notificationMenu = new ContextMenu(InitializeMenu());

notifyIcon.DoubleClick += IconDoubleClick;
System.ComponentModel.ComponentResourceManager resources = new
System.ComponentModel.ComponentResourceManager(typeof(NotificationIcon));
notifyIcon.Icon = (Icon)resources.GetObject("$this.Icon");
notifyIcon.ContextMenu = notificationMenu;
}

private MenuItem[] InitializeMenu()
{
MenuItem[] menu = new MenuItem[] {
new MenuItem("Eigenschaften", menuAboutClick),
new MenuItem("Beenden", menuExitClick)
};
return menu;
}
 

Lesen sie die antworten

#1 Frank Dzaebel
08/04/2010 - 07:41 | Warnen spam
Hallo Werner,

ich möchte gerne (beim klick auf ein Icon im Systray)
folgendes Menü haben: [...]
System.ComponentModel.ComponentResourceManager resources = new
System.ComponentModel.ComponentResourceManager(typeof(NotificationIcon));



es wundert mich zunàchst, dass Du nicht den vom Designer
erstellten Code direkt benutzt.

Es fehlt auf jeden Fall in Deinem Code:
notifyIcon.Visible = true;

Dazu solltest Du das notifyIcon in der überschriebenen
Dispose-Methode explizit disposen, damit es beim Schliessen
der Applikation nicht noch sichtbar ist. Hier auch Beispiele:

[NotifyIcon-Klasse (System.Windows.Forms)]
http://msdn.microsoft.com/de-de/lib...yicon.aspx

[TheNotifyIconExample - C# Project Template for NotifyIcon and Taskbar
Example - Release: TheNotifyIconExample C-Sharp Project Templates]
http://code.msdn.microsoft.com/TheN...?ReleaseId60

[NotifyIcon-Komponente (Windows Forms)]
http://msdn.microsoft.com/de-de/lib...z6s5c.aspx


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen