NotifyIcon geht nicht weg

Alexander12

Erfahrenes Mitglied
Hi.

Ich habe ja die Arbeit am Vokabeltrainer jetzt wieder aufgenommen und habe auch Mal ne schwierige Frage.

Mein Programm verwendet ein NotifyIcon.
Ich habe ein Mainform, welches als Login Form fungiert. Wenn das Passwort etc. stimmt verstecke Ich die Form mit this.Hide(); und rufe eine andere Form mit dem eigentlichen Inhalt auf. Auf dieser Form habe Ich nen Beenden-Button wenn Ich klicke, wird Application.Exit(); Ausgelöst.

So, der NotifyIcon ist nach dem schließen des Programms immer noch sichtbar, bis Ich mit dem Cursor drüberfahre, dann geht er weg. :confused:

Stellt euch vor Ich starte das Programm 10 Mal, dann habe Ich da unten 10 von diesen Icons. Dann fahre Ich drüber mit dem Cursor und alle gehn nach einander weg.

Wie krieg Ich das hin, dass die NotifyIcons beim Beenden des Programms, gleich weggehn?
Vielleicht das Desktop aktualisieren? Wie mach Ich das?


MfG Alexander12
 

Nico Graichen

Erfahrenes Mitglied
Malzeit

Mir stellen sich als erstes 2 Fragen:
Für was brauch ich bei einem Vokabeltrainer einen Login?
Bei was benachrichtigt dich das NotifyIcon? (Für was braucht man das?)

zum Thema:
An welcher Form hängt denn das NotifyIcon? An der LoginForm oder an der mit der du arbeitest?
Wenn an der LoginForm, kann es sein, dass diese nicht richtig geschlossen wird.
Probier doch mal, das Icon vor dem Schließen deines Programmes auf null zu setzen.
 

Alexander12

Erfahrenes Mitglied
Hi.

Ich habe das schon beim Closeing-Event reingeschrieben, das Visible = false;

Ich habe grade vorhin Mal was von this.NotifyInvalidate oder so gelsen, dass muss Ich mal probiern.

Ach, das Icon hängt am Login-Form.


MfG Alexander12
 

Nico Graichen

Erfahrenes Mitglied
Mit Visible = false gehabst das Problem auch nicht, nur wenn etwas nicht sichtbar ist, ist es deswegen nicht weg ;)

PS:
This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.
Aber Invalidate könntest du aufrufen
 
Zuletzt bearbeitet:

Alexander12

Erfahrenes Mitglied
Hi.

Hm.. Bei den Überladungen von NotifyIconInvalidate() steht bei den Überladungen irgendwas mit nem Rectangle, also nem Rechteck.

Ohne die gehts nicht. Was muss Ich da den machen? Die Pixel angeben, welcher Bereich Invalidated sein soll?


MfG Alexander12
 

Christian Kusmanow

Erfahrenes Mitglied
  1. ist es sinnlos das man einen Vokabeltrainer mit einen Login versieht.
    Wenn Du aber unbedingt einen einbauen willst,
    solltest Dich mal fragen wieso es Benutzerprofile im System gibt und wie man sie verwendet,
    wenn Du verstehst worauf ich hinaus will. ;)
  2. ist es sinnlos daß das NotifyIcon dem Login anstatt dem HauptForm gehört.
    Es sollte auch erst angezeigt werden wenn der Login erfolgte bzw. das Programm danach gestartet wurde.
 

Alexander12

Erfahrenes Mitglied
Hi cosmo,

Es sollte auch erst angezeigt werden wenn der Login erfolgte bzw. das Programm danach gestartet wurde.

Ja, gut, Ich bau das Mal ins eigentliche Form ein, nicht ins Login-Form (MainForm) und schreib halt beim Closein-Event

Code:
this.myNotifyIcon.Visible = false;

rein. Mal sehen obs dann funkt.


MfG Alexander12
 

zioProduct

Erfahrenes Mitglied
Errinerung:

Mit Visible = false gehabst das Problem auch nicht, nur wenn etwas nicht sichtbar ist, ist es deswegen nicht weg

Aber wenns an der MainForm hengt sollte es so oder so keine Probleme gehben, soviel ich bis jetzt erfahren habe.