Autor Beitrag
namenlos
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 10.12.08 11:55 
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:
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4799
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 10.12.08 14:14 
Danke dir. Die hab ich wohl irgendie übersehen. :oops: xD