Hallo, in frühere Visual Basics gab es immer eine Klasse "Shape", die einfach nur eine Form (Rechteck, Kreis) in dem Fenster darstellen. Gibt es das in Visual C# 2008? Bzw. welche .NET-Klasse ist das? Dankeschön. flacks
Ja das geht natürlich. Such mal im Netz oder in der Hilfe vom Visual Studio (MSDN) nach nach GDI+, dann wird Dir geholfen.
Hi, Es gibt nicht direkt ein Control (Also was man mit dem Designer auf der Form platzieren kann) Allerdings ist es nicht weiter schwer sachern per Code zu Zeichnen, siehe hierzu folgendes Tutorial: http://www.mycsharp.de/wbb2/thread.php?threadid=21782 greets
Hi flacks, schaue Dir mal folgende Klasse an: System.Windows.Forms.ControlPaint Vielleicht findest Du da, was Du suchst. Ansonsten hat die Klasse System.Drawing.Graphics diverse Methoden zum Zeichnen und Füllen von Linien, Rechtecken, ... Gruß Markus
Hallo, genau die System.Drawing Klasse Wie schon erwähnt bietet MSDN sehr gute (deutsche!!) Hilfestellung. .DrawRectangle wäre so eine Methode.... http://msdn.microsoft.com/de-de/library/system.drawing.graphics_members(VS.80).aspx mfG :-)
Wie sieht es dabei dann mit dem Thema Drag&Drop aus? Ich möchte dass man dieses Rechteck dann in dem Fenster mit der Maus verschieben kann! Wie könnte man das machen?
Du musst unterscheiden zwischen deinen Daten und der Darstellung deiner Daten. Die System.Drawing Funktionen stellen dir Methoden zur Verfügung, mit denen du etwas zeichnen kannst. Zeichnen bedeutet: irgendwelche Pixel werden auf irgendwelche Werte gesetzt. Aber: Nachdem die Dinge gezeichnet sind, ist damit das Thema für die Library vorbei. Das Rechteck existiert für die Bibliothek nicht mehr als Rechteck, es ist als solches nicht mehr angreifbar. Es ist daher dein Job, dir eine Datenstruktur aufzubauen, in der dein Programm weiß, welches Rechteck es gibt und wo es angezeigt wird. Es ist auch letzten endes dar Job deines Programmes zu entscheiden, was mit einem Mausklick gemacht werden soll. Die Bibliothek kann ja nicht wissen, was sie tun soll, wenn mehrere Rechteck überlappend gezeichnet werden und der Benutzer in den überlappenden Bereich klickt. Welches Rechteck gilt denn? Das kann je nach Programm, je nach Aufgabenstellung, je nach Situation ein völlig anderes sein. Auch wenn dir C# vieles abnimmt. Programmieren musst du immer noch selber.
OK habs ja jetzt auch alles "von Hand" gemacht und funktioniert einwandfrei. Aber ich hab noch eine Frage: Ich möchte dass die Zeichnung im Fenster mit dem Scrollen verschoben wird. Soll ich das auch "von Hand" programmieren oder gibt es da irgendwas was das abnimmt? Wenn ich z.B. eine PaintBox-Komponente (gibt es das in c#?) hätte wäre diese PaintBox ja fest auf dem Fenster platziert sie würde durch das Scrollen mitverschoben werden. Aber da ich mit dem Graphics-Objekt ja direkt auf das Formular so wie es momentan ist zeichne geht das nicht so einfach. Oder hat da jemand einen Tipp?
Hi, Hier noch zwei Tutorials: Wie man per Code gezeichnete Objekte mit der Maus verschiebt: http://www.mycsharp.de/wbb2/thread.php?threadid=29081 Und noch was zum Scrollen: http://www.mycsharp.de/wbb2/thread.php?postid=145740 greets
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.