NotifyIcon mit MouseHover Event (Usercontrol möglich?)

  • VB.NET
  • .NET (FX) 4.0

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von nafets3646.

    NotifyIcon mit MouseHover Event (Usercontrol möglich?)

    Hallöchen :)

    Ich möchte gerne einem NotifyIcon ein MouseHover "event" verpassen.
    Meine erste Überlegung war, über das NotifyIcon ein Panel zu legen,
    doch das ermitteln der Screenposition des NotifyIcons hat sich als Sackgasse herausgestellt.
    Nun frage ich mich, ob ein Usercontrol, abgeleitet vom NotifyIcon, mit echtem MouseHover Event möglich ist.
    Kann mir bitte jemand dabei helfen, ich komme da schon im Ansatz nicht weiter. :/

    Quellcode

    1. Fehler "NotifyIconMouseHover" kann nicht von class "NotifyIcon" erben, da "NotifyIcon" als "NotInheritable" deklariert ist.



    Aus den Tipps und Tricks verschoben
    - Artentus

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Artentus“ ()

    Microsoft hat die NofityIcon-Klasse als sealed/NotInheritable gesetzt, also von der kann man gar nicht erben.
    Was ist der Plan?
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Der Plan ist:
    Ich möchte gerne einem NotifyIcon ein MouseHover "event" verpassen.
    Konkret möchte ich Drag&Drop realisieren, aber zu weiteren Verwendung wäre es auch ganz praktisch, das mickrige TextPopup braucht kein Mensch.
    Du kannst über Shell_NotifyIconGetRect das RECT des NotifyIcon bekommen, indem du die ID und das Handle angibst. Diese sind allerdings in privaten Properties der NotifyIcon-Klasse versteckt (​private int id und ​private NotifyIconNativeWindow window), sodass du dir die Werte über Reflection holen musst. Dann kannst du die ​RECT-Struktur in ein ​Rectangle umwandeln und dieses dann verwenden. Zu beachten wäre allerdings, dass die Funktion, wenn das Icon ausgeblendet ist, die Position des Erweiterungsknopfes ausgibt. Dafür kenne ich allerdings keinen Workaround. Ich hatte mal eine kleine Library geschrieben, welche die obige Funktionsweise in Code gießt, jedoch ist die wohl irgendwo verloren gegangen, ich suche nachher nochmal danach.