In een programmaatje waar ik mee bezig ben wordt meerdere keren per seconde een Bitmap getekend (een grafiek). Ik heb een eigen Control class gemaakt om Bitmaps te tonen, waarin onPaint en onPaintBackground events worden geblokkeerd. Dat levert een aanzienlijke snelheidswinst op, maar als de grafiek niet wordt geupdate (omdat het programma op pauze staat bijvoorbeeld) zou het fijn zijn als ik de onPaint events weer gewoon kon laten verlopen.
Kan ik een override functie aan- en uitzetten tijdens runtime?
Kan ik een override functie aan- en uitzetten tijdens runtime?
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| class BitmapBox : Control { protected override void OnPaint(PaintEventArgs e) { //Do Nothing } protected override void OnPaintBackground(PaintEventArgs pevent) { //Do Nothing } public void DrawBitmap(Bitmap img) { var g = CreateGraphics(); g.DrawImage(img, 0, 0); g.Dispose(); img.Dispose(); } } |