C# - MousePosition

kasal

Erfahrenes Mitglied
Hallo,

Ich wollt auch mal in C# ein kleines Spiel machen. Dazu habe Ich einfach Mal ne PictureBox genommen. Dann beim FormClick Eventhandler folgendes gemacht:

Code:
int x = Convert.ToInt16(MousePosition.X);
int y = Convert.ToInt16(MousePosition.Y);
dot.Location = new System.Drawing.Point(x,y);
this.dot.Visible = true;
dot ist die Pb. Doch nun erscheint diee PictureBox irgendwo in der Form, ein paar cm weg von der Maus, wie kann Ich das denn machen, dass er nur von der linken Ecke oben an in der Form die Mausposition berechnet und nicht vom ganzen bildschirm?

Danke schon Mal!


LG,
kasal
 

Norbert Eder

Erfahrenes Mitglied
Du musst die MouseDown-Eigenschaft verwenden. Sowohl von der Form, als auch von der PictureBox, falls jemand auf die PictureBox selbst klickt. Unter der Annahme dass die Form frmMain und die PictureBox pictureBox1 heißt, könnte das folgendermaßen aussehen:

C#:
private void frmMain_MouseDown(object sender, MouseEventArgs e)
{
    this.pictureBox1.Left = e.X;
    this.pictureBox1.Top = e.Y;
}

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
    this.pictureBox1.Left = this.pictureBox1.Left + e.X;
    this.pictureBox1.Top = this.pictureBox1.Top + e.Y;
}
 

Norbert Eder

Erfahrenes Mitglied
Hi,

bitte - wenn die Frage beantwortet wurde und das Problem behoben ist - den Thread als erledigt markieren.

Danke,
Norbert
 

Neue Beiträge