Hallo zusammen!
Hintergrund: (nur für Interessierte, ansonsten unwichtig)
Ich arbeite gerade an einem eigenen UserControl für das ich "Scrolling" selbst implementieren möchte. Warum ich das selbst machen möchte? Das Control ist ein "Datums-Strahl". In der Mitte befindet sich das aktuelle Datum, links davon die vergangenen Tage, rechtes davon die zukünftigen Tage. Klickt der Benutzer auf ein Datum, dann wird das angeklickte Datum zum mittleren und die übrigen Daten sammeln sich darum herum. Mit dem normalen Scrolling komm ich da nicht weit, weil ich z.B. nicht in einen negativen Bereich scrollen kann.
Problem:
Ich habe beobachtet, dass ein Scrollable-Objekt nach dem Scrollen im Paint-Ereignis nicht das ganze Objekt neu zeichnet, sondern nur den neu hinzugekommenen Bereich. Der bereits auf dem Bildschirm befindliche Bereich wird wohl einfach nur verschoben. Das spart natürlich einiges an Ressourcen. Ich würde das gerne auch ressourcenschonend hinbekommen und fragte mich deshalb, ob ich einen rechteckigen Bereich aus meinem e.Graphics-Objekt einfach verschieben kann?
Hintergrund: (nur für Interessierte, ansonsten unwichtig)
Ich arbeite gerade an einem eigenen UserControl für das ich "Scrolling" selbst implementieren möchte. Warum ich das selbst machen möchte? Das Control ist ein "Datums-Strahl". In der Mitte befindet sich das aktuelle Datum, links davon die vergangenen Tage, rechtes davon die zukünftigen Tage. Klickt der Benutzer auf ein Datum, dann wird das angeklickte Datum zum mittleren und die übrigen Daten sammeln sich darum herum. Mit dem normalen Scrolling komm ich da nicht weit, weil ich z.B. nicht in einen negativen Bereich scrollen kann.
Problem:
Ich habe beobachtet, dass ein Scrollable-Objekt nach dem Scrollen im Paint-Ereignis nicht das ganze Objekt neu zeichnet, sondern nur den neu hinzugekommenen Bereich. Der bereits auf dem Bildschirm befindliche Bereich wird wohl einfach nur verschoben. Das spart natürlich einiges an Ressourcen. Ich würde das gerne auch ressourcenschonend hinbekommen und fragte mich deshalb, ob ich einen rechteckigen Bereich aus meinem e.Graphics-Objekt einfach verschieben kann?