Objekt bei Klick ins Fenster erstellen

Kajotex

Mitglied
Tag auch,

Ewigkeiten her das ich programmiert hab, so please bear with me.
Progge gerade in C# eine GUI. Was ich für eine Funktion brauche: Ich klicke einen Button, und klicke dann in dem Fenster irgendwo in die rechte Seite. Da entsteht dann ein Kreis.

Den Button hab ich schon und Funktionen für alles auch aber dieses "gucken wo der Klick hingeht und dann was Zeichnen" macht mir probleme.

Microsoft Visual Studio 2010 btw.

Hoffe mir kann jemand ein bischen Beistand leisten :)
 
Um herauszufinden, wann der Benutzer wo mit der Maus geklickt hast, kannst du zum Beispiel das MouseClick-Event oder das MouseDown-Event verwenden.
Zum Zeichnen solltest du die OnPaint-Methode überschreiben und darin auf das Graphics-Objekt des PaintEventArgs-Parameters zugreifen. Das heißt, wenn der Benutzer einen Mausklick gemacht hat, dann speicherst du die Koordinaten des Mausklicks in einer Variable. Auf diese Variable greifst du dann in der OnPaint-Methode zurück und zeichnest den Kreis.
 
Zuletzt bearbeitet:
Hi Shakie,

super Antwort danke :)
Aber leider steig ich irgendiwe durch diese PaintEventArgs Geschichte net durch.
Wie muss ich die denn befüllen?
Ich hab beispielsweise eine Funktion:

public void draw(System.Windows.Forms.PaintEventArgs e)
{
Graphics g = e.Graphics;
g.DrawEllipse(new Pen(Color.Green), this.x, this.y, 10, 10);
}

Wie rufe ich diese auf?
(Hab als Fehler "No overload for method "draw" takes 0 arguments")
 
Zuletzt bearbeitet:
Hallo,

"No overload for method "draw" takes 0 arguments"
... sagt eigentlich eh schon alles. Du rufst draw ohne Parameter auf, aber deine draw-Methode erwartet ein Argument vom Typ PaintEventArgs.

Eine Instanz von PaintEventArgs bekommst du als Eingabeparameter der OnPaint-Methode, daher musst du garnichts selbst befüllen. (du kannst dir ja mal das Beispiel hier anschauen).

Anmerkung: Bitte verwend für die nächsten Code-Blöcke in deinen Posts die [code=csharp] und [/code] Tags
 
Zuletzt bearbeitet von einem Moderator:
Hi Steiner_B,

Alright, I got it!
Danke... sieht so aus als ob meine Programmierkentnisse nicht nur ein- sondern fast weggerostet sind ;)
 
Zurück