Entwickler-Ecke

WinForms - MouseMove solange Mouse über Element ist


namenlos - Mi 10.12.08 11:55
Titel: MouseMove solange Mouse über Element ist
Hallo zusammen

Ich möchte ein Bild in einer PictureBox ändern solange sich der Mauszeiger darüber befindet.

Natürlich kann man es so machen:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
private void PictureBox1_OnMouseMove(object sender, MouseEventArgs e)
        {
            PictureBox1.BackgroundImage = Programm.Resources.Bild;
        }

private void Programm_MouseMove(object sender, MouseEventArgs e)
        {
            PictureBox1.BackgroundImage = null;
        }

Wenn man jedoch zu schnell mit dem Mauszeiger auf eine andere PictureBox2 wächselt, bleibt das Bild in der PictureBox.

Ich dachte eher an einen Vergleich mit einer If-Schleife, ob sich der Mauszeiger über der PictureBox befindet oder nicht. Ist sowas möglich?

Danke.


Th69 - Mi 10.12.08 12:52

Verwende besser die Ereignisse MouseEnter und MouseLeave.

MouseMove triggert bei jeder Bewegung der Maus (für das entsprechend darunterliegende Control).
Bei deiner Version hättest du für ALLE anderen Controls das MouseMove-Event auf Programm_MouseMove abonnieren müssen.


namenlos - Mi 10.12.08 14:14

Danke dir. Die hab ich wohl irgendie übersehen. :oops: xD