ToolTip mit Mouse_Hover aber ohne Steuerelement

Thurstan

Mitglied
Hallo Tutorials Member,

ich habe ein Form indem wird einzig und allein ein Bitmap angezeigt, nun soll ein ToolTip aufgehen sobald der Mauszeiger auf bestimmte Koordinaten zeigt. Mit dem Event Mouse_Click funktioniert es auch soweit, nur möchte ich dies gern mit dem Event Mouse_Hover realisieren. Hierbei ist jedoch das Problem das die Methode SetToolTip ein Control erwartet, allerdings habe ich nur das Form in der das Bitmap liegt. Somit funktioniert der Mouse_Hover Event nicht richtig, da er sich auf das ganze Form bezieht. So muss ich immer erst mit der Maus das Form verlassen, bevor es wieder einen ToolTip anzeigt.

Wie kann ich das beheben ? Bzw. gibt es eine andere Möglichkeit ?
 
Wäre eine Möglichkeit, allerdings kann ich diesen Event nicht nutzen, da er schon für etwas anderes vorgesehen ist. Wenn müsste es mit Mouse_Hover passieren.. :confused:
 
Hi

Ich versteh nicht ganz, wieso so in diesem Event nicht auch deine ToolTip-Logik zu Einsatz bringen kannst? :confused:

Meines Wissens ist der ToolTip immer an ein Steuerelement gebunden. Zumindest verlangt die Methode SetToolTip ein Control. Da aber mein Form nur ein Steuerelement hat - ein Bitmap - funktioniert der Event nur, nachdem er einmal eingetroffen ist, wenn ich das Steuerelement wieder verlasse, ein zweites mal...sprich ich muss jedesmal das ganze Bitmap verlassen..
Ich will aber immer an bestimmten Koordinaten des Bitmaps ein ToolTip aufgehen lassen, allerdings habe ich da kein Control. Ich hoffe ihr versteht jetzt was ich meine :confused:
 
Und dafür das MouseMove Event der PictureBox verwenden, die Koordinaten im EventArgs auswerten und über SetToolTip das ToolTip anzeigen lassen.

MouseMove wird bei jeder Bewegung der Maus auf dem Control ausgeführt.
 
Die Form ist doch ein Control!
Das geht:
C#:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private ToolTip tip;

        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.X < 100 && e.Y < 100)
            {
                if (tip == null)
                {
                    tip = new ToolTip();
                    tip.ToolTipIcon = ToolTipIcon.Info;
                    tip.ToolTipTitle = "tutorials.de";
                    tip.IsBalloon = true;
                    tip.SetToolTip(this, "tutorials.de");
                }

            }
            else
            {
                if (tip != null)
                {
                    tip.Hide(this);
                    tip.Dispose();
                    tip = null;
                }
            }
        }
    }
 
Entweder verstehe ich gerade nicht was ihr meint - oder Ihr nicht was ich meine :)

Mit Mouse_Move würde es scheinbar gehen, aber dieser Event ist eigentlich schon für eine andere Funktion vorgesehen...wäre schön wenn es auch mit Mouse_Hover gehen würde, aber Mouse_Hover tritt immer nur ein zweites Mal ein wenn man das angegebene Steuerelement auch wieder verlässt...
 

Neue Beiträge

Zurück