Überprüfen Sie, ob BalloonTooltip vom Benutzer geschlossen wurde

9

Wie kann ich überprüfen, ob die an NotifyIcon angehängte BalloonTip geschlossen wurde, indem der Benutzer auf das Symbol "Schließen" klickte oder nach einem Timeout verschwand? Es scheint, dass in beiden Fällen BalloonTipClosed ausgelöst wird und BaloonTipClicked ausgelöst wird, wenn der Benutzer irgendwo auf erscheinende QuickInfo klickt ...

    
ts. 16.05.2011, 12:15
quelle

1 Antwort

1

Ich glaube nicht, dass es möglich ist, den Schließen-Knopf zu bestimmen, der über den angeklickten Ballon geklickt wird.

MSDN ! listet die vom Benachrichtigungssymbol gesendeten Nachrichten auf. Aus dieser Liste würde hervorgehen, dass zwischen einem Benutzer, der auf die Sprechblase klickt, und dem Benutzer, der auf die Schaltfläche zum Schließen klickt, kein Unterschied besteht.

Wie untenstehend in diesem Blog erklärt, warum das Klicken auf die Schließen-Schaltfläche löst kein separates Ereignis aus.

Allerdings hat dieser Blog einen Kommentar, der darauf hinweist, dass Windows XP, NIN_BALLOONTIMEOUT wird gesendet, wenn der Benutzer auf die Schaltfläche zum Schließen klickt. Es wäre gegen die beste Vorgehensweise, sich auf Macken wie diese zu verlassen, um Ihr Programm zum Laufen zu bringen.

Könnten Sie Ihren eigenen Timer implementieren, der die Ballonspitze nach Abschluss schließt? Stellen Sie sicher, dass Sie die Sprechblase so einstellen, dass sie länger als der Timer angezeigt wird. Dann können Sie erkennen, ob der Timer noch läuft, wenn der Ballon geschlossen ist, wenn nicht, dann hat der Timeout den Ballon geschlossen, sonst hat der Benutzer das getan.

    
IndigoDelta 16.05.2011, 12:34
quelle

Tags und Links