Laden...

MouseEnter / MouseLeave Event

Erstellt von Massimoto vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.928 Views
M
Massimoto Themenstarter:in
38 Beiträge seit 2012
vor 12 Jahren
MouseEnter / MouseLeave Event

Hallo,
ich habe eine, wahrscheinlich sehr simple Frage, stehe aber grade irgendwie auf dem Schlauch und komme mit dem Event nicht weiter.


            InitializeComponent();
            ImageBox.MouseEnter += new EventHandler(ImageBox_MouseEnter);
            ImageBox.MouseLeave += new EventHandler(ImageBox_MouseLeave);


        private void ImageBox_MouseEnter(object sender, MouseEventArgs e)
        {
            Cursor = Cursors.Cross;
        }

        private void ImageBox_MouseLeave(object sender, MouseEventArgs e)
        {
            Cursor = Cursors.Arrow;
        }

Sollte doch eigentlich funktioniere, dass wenn ich mit der Maus über das Image fahre, sich der Cursor zum Kreuz ändert und beim Verlassen wieder zurück zum normalen Pfeil wird, oder? Kann mit: "No overload for 'ImageBox_MouseEnter' matches delegate 'System.EventHandler" leider nicht viel anfangen.

Wenn ich das in den Griff bekomme wäre der nächste Schritt mit dem Kreuz auf das Bild kleine Markierungen zu setzen...

M
184 Beiträge seit 2012
vor 12 Jahren

Wie wärs mit

private void ImageBox_MouseEnter(object sender, EventArgs e)
{
      Cursor = Cursors.Cross;
}

EventArgs statt MouseEventArgs

Edit: Man könnte aber auch direkt die Cursor-Eigenschaft des Controls auf Cross stellen, dann musst du das nicht per Code machen.

M
Massimoto Themenstarter:in
38 Beiträge seit 2012
vor 12 Jahren

Das habe ich auch schon versucht, dann bekomme ich aber folgende Fehlermeldung:
Cannot implicitly convert type 'System.EventHandler' to 'System.Windows.Input.MouseEventHandler'.

Und ich möchte nur über dem Bild das Kreuz als Cursor haben, weil auf diesem Bild bestimmte Punkte geklickt werden sollen. Aussen rum sind noch Buttons und Checkboxes und sowas, da sollte schon die normale Maus angezeigt werden.

D
216 Beiträge seit 2009
vor 12 Jahren

Deswegen ja auch im Konstrukor nur den Cursor für deine ImageBox umstellen.

ImageBox.Cursor = Cursors.Cross

Nur der vollständigkeithalber müsste dein anderer Code so aussehen

ImageBox.MouseEnter += new MouseEventHandler(ImageBox_MouseEnter);
ImageBox.MouseLeave += new MouseEventHandler(ImageBox_MouseLeave);

//...

private void ImageBox_MouseEnter(object sender, MouseEventArgs e)
{
    Cursor = Cursors.Cross;
}

private void ImageBox_MouseLeave(object sender, MouseEventArgs e)
{
    Cursor = Cursors.Arrow;
}

Allerdings ist dafür das Control.Cursor Property da.

Darth Maim

M
Massimoto Themenstarter:in
38 Beiträge seit 2012
vor 12 Jahren

Danke, das hilft mir weiter.
Dachte es ist gut das ab zu fragen, weil ich auf einen Buttonklick hin eine bestimmte Anzahl an Punkten selektieren will. Damit werde ich mich nun auseinander setzen müssen. Das Problem hier ist gelöst! Danke!