Gateway_man Geschrieben 14. Juni 2010 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
lupo49 Geschrieben 14. Juni 2010 Geschrieben 14. Juni 2010 Ein neues Rechteck über als zeichnen bei dem die Rahmenfarbe gleich dem Hintergrund ist? Zitieren
Gateway_man Geschrieben 14. Juni 2010 Autor 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
Pointerman Geschrieben 14. Juni 2010 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
Gateway_man Geschrieben 14. Juni 2010 Autor 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
Pointerman Geschrieben 14. Juni 2010 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
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.