14. Juni 201015 j 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
14. Juni 201015 j Ein neues Rechteck über als zeichnen bei dem die Rahmenfarbe gleich dem Hintergrund ist?
14. Juni 201015 j Autor 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.
14. Juni 201015 j 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.
14. Juni 201015 j Autor 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...
14. Juni 201015 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.