GroupBox MouseHover aber kein MouseLeave?

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    GroupBox MouseHover aber kein MouseLeave?

    Hallo Leute,
    auf einigen Objekten in Form1 wird das MouseHover und MouseLeave-Event, über eine Statische Klasse, zum zeigen von ToolTips verwendet.
    Das einzige Objekt das mir da ein Strich durch die Rechnung macht ist die GroupBox.
    Wenn die Mouse zum Beispiel ohne Zwischen-stop von der GroupBox auf den Desktop bewegt wird, kann der ToolTip nicht wieder gelöscht werden.

    Welchen Sinn macht es überhaupt das die GroupBox kein MouseLeave-Event besitzt?
    Und gibt es dafür eine Lösung ohne per API die MousePosition abzufragen?
    Das Chaos beginnt mit komprimierter Ordnung (Steppenpferd 2019)
    @Steppenpferd Warum nimmst Du nicht ein .net ToolTip-Designer-Objekt?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany Verwende ein Label in dem verschiedene Informationen gleichzeitig gezeigt werden können.
    Spoiler anzeigen

    RodFromGermany schrieb:

    @Steppenpferd Warum nimmst Du nicht ein .net ToolTip-Designer-Objekt?


    @Takafusa Geht nicht...
    Spoiler anzeigen

    Takafusa schrieb:

    Aber du könntest auch das MouseEnter des Parents nehmen, ist die GroupBox auffer Form, kannst du dessen MouseEnter nutzen und sämtliche Tooltips verstecken

    Steppenpferd schrieb:

    Wenn die Mouse zum Beispiel ohne Zwischen-stop von der GroupBox auf den Desktop bewegt wird, kann der ToolTip nicht wieder gelöscht werden.


    Das aber schon, danke vielmals!
    Spoiler anzeigen

    Takafusa schrieb:

    Brauchste nur Cursor.Position keine API-Funktion.

    C#-Quellcode

    1. private void timer1_Tick(object sender, EventArgs e) {
    2. if (!this.RectangleToScreen(this.ClientRectangle).Contains(System.Windows.Forms.Cursor.Position)) Manager.ClearTooltip();
    3. }
    Das Chaos beginnt mit komprimierter Ordnung (Steppenpferd 2019)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Steppenpferd“ ()

    Steppenpferd schrieb:

    Welchen Sinn macht es überhaupt das die GroupBox kein MouseLeave-Event besitzt?
    Das ist eine Frage mit falschen Voraussetzungen. Das Event existiert und der EventHandler springt an:
    Bilder
    • GbxML.png

      3,64 kB, 769×99, 43 mal angesehen
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Das Fenster benutze ich nie. Ich wähle immer die Events über das Codefenster aus. Da scheint mir in der Vergangenheit einiges dadurch an Frust erspart worden zu sein. :D
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    Takafusa schrieb:

    ist das aber nicht drin?
    Es gibt da auch einige Propereties bei einigen Controls, die im Designer nicht angezeigt werden, z.B. .AllowDrop.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Takafusa schrieb:

    Beim Label z.B. finde ich AllowDrop weniger brauchbar.
    Das brauchst Du dann, wenn eine komplette GUI mit diversen Controls droppen können soll, da muss D&D für die betreffenden Controls implementiert werden.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Takafusa schrieb:

    Beim Label z.B. finde ich AllowDrop weniger brauchbar.
    Da fällt mir auf Anhieb ein Beispiel ein: Bei meinem privaten Kassenbuch kommen viele Buchungen zustande. Per D&D auf ein Label hol ich mir einen Ist-Zustand in den permanenten Speicher, wodurch ist sehe: »Ah, okay, an diesem Tag hab ich nachgezählt, da hat alles gepasst.« Und wenn ich dann 2 Wochen faul war und nicht kontrolliert habe und zig Buchungen nachhole, weiß ich zumindest: »Ok, bis zum gedroppten Datum hat's gepasst. Also: Wo habe ich 65,39 € in den vergangenen 2 Wochen ausgegeben, die laut Bestand fehlen?«
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.

    VaporiZed schrieb:

    in den vergangenen 2 Wochen ausgegeben
    Wahrscheinlich ans Forum gespendet. :thumbsup:
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!