Gateway_man Geschrieben 14. Juni 2010 Teilen Geschrieben 14. Juni 2010 Hallo, ich habe ein Formular auf dem verschiedene Rechtecke gezeichnet wurde. Nun will ich verschiedene Rechtecke löschen (jedoch nicht alle). Mir ist die Funktion Clear() der Klasse Graphics bekannt, jedoch zerstört diese Funktion alle Grafikobjekte indessen Bereich. Hat jemand eine Idee wie ich das anstellen könnte? Lg Gateway Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 14. Juni 2010 Teilen Geschrieben 14. Juni 2010 Ein neues Rechteck über als zeichnen bei dem die Rahmenfarbe gleich dem Hintergrund ist? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 14. Juni 2010 Autor Teilen Geschrieben 14. Juni 2010 danke, aber diese Lösung ist mir zu unsauber. Ich hatte mir überlegt jedem Graphicobjekt eine eigene Graphic instanz zu geben, jedoch ist der Aufwand vergleichsweise enorm wenn die Rechtecke an Anzahl und Position nicht statisch sein sollen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 14. Juni 2010 Teilen Geschrieben 14. Juni 2010 Speicher Dir doch die Rectangles in einer Liste. Wenn ein rectangle geloescht werden soll, dann loeschst Du es in der Liste und zeichnest die noch vorhandenen Elemente neu. Ein Repaint() bzw Clear() nicht vergessen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 14. Juni 2010 Autor Teilen Geschrieben 14. Juni 2010 Speicher Dir doch die Rectangles in einer Liste. Wenn ein rectangle geloescht werden soll, dann loeschst Du es in der Liste und zeichnest die noch vorhandenen Elemente neu. Ein Repaint() bzw Clear() nicht vergessen. Dann hab ich den effekt des "Flimmerns". So in etwa hatte ich das auch schon versucht nur leider kommt bei häufiger aktualisierung eine Art "Flimmern" des Forms vor. Was ja verständlich ist da er ja immer wieder alles neu zeichnet... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 14. Juni 2010 Teilen Geschrieben 14. Juni 2010 Probier doch mal diesen Tip aus: Windows Forms FAQ : How can I minimize flickering when drawing a contr... : Syncfusion Dort wird Dubblebuffering aktiviert, d.h. es wird auf einer nicht sichtbaren Canvas gemalt und erst dann umgeschaltet, wenn alles fertig ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 15. Juni 2010 Autor Teilen Geschrieben 15. Juni 2010 Danke euch beiden Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.