Announcement

Collapse
No announcement yet.

Bei Programmminimierung Symbol in Infobereich einblenden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Bei Programmminimierung Symbol in Infobereich einblenden

    Guten Morgen,

    ich möchte, wenn ich mein Programm minimiere, ein Symbol im Infobereich der Taskleiste haben (neben der Uhr) á la Antivirenprogramme oder ICQ. Wenn ich nun wieder auf das Symbol klicke, soll mein Programm wieder aufgerufen werden.

    Das Programm sollte aber selbstständig im Hintergrund weiterlaufen und seine Tasks erledigen.

    Kann mir bitte jemand weiterhelfen? Danke im Vorraus.

  • #2
    Hallo,
    das .NET Framework bringt mit der <b>NotifyIcon</b>-Klasse aus dem Namespace <i>System.Windows.Forms</i> alles Notwendige mit, so dass die Umsetzung dieser Aufgabe verblüffend einfach ist:
    <code>
    <font color="#0000FF">using</font> System;
    <font color="#0000FF">using</font> System.Windows.Forms; <font color="#008000">// NotifyIcon</font>
    <font color="#0000FF">using</font> System.Drawing; <font color="#008000">// Icon</font>

    <font color="#0000FF">namespace</font> OssiSoft {

    <font color="#0000FF">public</font> <font color="#0000FF">class</font> OSNotifyIconMinimum
    {
    <font color="#0000FF">public</font> OSNotifyIconMinimum()
    {
    }

    <font color="#0000FF">public</font> <font color="#0000FF">static</font> <font color="#008080">NotifyIcon</font> aAppIcon = <font color="#0000FF">new</font> <font color="#008080">NotifyIcon</font>();
    <font color="#0000FF">public</font> <font color="#0000FF">static</font> <font color="#008080">ContextMenu</font> aSysTrayMenu = <font color="#0000FF">new</font> <font color="#008080">ContextMenu</font>();
    <font color="#0000FF">public</font> <font color="#0000FF">static</font> <font color="#008080">MenuItem</font> aDisplayInfo = <font color="#0000FF">new</font> <font color="#008080">MenuItem</font>("Info über...");
    <font color="#0000FF">public</font> <font color="#0000FF">static</font> <font color="#008080">MenuItem</font> aExitApp = <font color="#0000FF">new</font> <font color="#008080">MenuItem</font>("Beenden");

    <font color="#0000FF">static</font> <font color="#0000FF">void</font> Main()
    {
    <font color="#008080">Icon</font> aIcon = <font color="#0000FF">new</font> <font color="#008080">Icon</font>(@"NOTES.ICO");
    aAppIcon.<font color="#008080">Icon</font> = aIcon;
    aExitApp.Click += <font color="#0000FF">new</font> System.<font color="#008080">EventHandler</font>(ExitApp_Click);
    aSysTrayMenu.MenuItems.Add(aDisplayInfo);
    aDisplayInfo.Click += <font color="#0000FF">new</font> System.<font color="#008080">EventHandler</font>(DisplayInfo_Click);
    aSysTrayMenu.MenuItems.Add(aExitApp);
    aAppIcon.<font color="#008080">ContextMenu</font> = aSysTrayMenu;
    aAppIcon.Text = "dot.net-Magazin";
    aAppIcon.Visible = <font color="#0000FF">true</font>;
    <font color="#008080">Application</font>.Run();
    }

    <font color="#0000FF">private</font> <font color="#0000FF">static</font> <font color="#0000FF">void</font> DisplayInfo_Click(<font color="#0000FF">object</font> sender, System.<font color="#008080">EventArgs</font> e)
    {
    <font color="#008080">MessageBox</font>.Show("<font color="#008080">NotifyIcon</font> ohne Formular", "Test",
    <font color="#008080">MessageBoxButtons</font>.OK);
    }

    <font color="#0000FF">private</font> <font color="#0000FF">static</font> <font color="#0000FF">void</font> ExitApp_Click(<font color="#0000FF">object</font> sender, System.<font color="#008080">EventArgs</font> e)
    {
    aAppIcon.Dispose();
    <font color="#008080">Application</font>.Exit();
    }
    }
    }
    </code>
    Wenn etwas im Hintergrund laufen soll und die Anwendung unter dem .NET Framework 2.0 entwickelt wird, ist die neue Komponente <B>BackgroundWorker</b> genau das Richtige (siehe dazu den Beitrag <i>Doing Async the Easy Way</i> aus <i>http://msdn.microsoft.com/msdnmag/issues/05/03/default.aspx</i>)

    Comment


    • #3
      Danke für die Information, mittlerweile hat sich die Zielstellung des Projekts aber wieder geändert. Trotzdem dank

      Comment

      Working...
      X