Problemer med OnPaint
Jeg har en Form hvori jeg overrider OnPaint for at tegne en GUI. Formen invalideres af en timer som kører i et vilkårligt interval, som standard hver 100ms - hvorved OnPaint invokes igen.Jeg har stødt ind i følgende bug op til flere gange undervejs:
http://www.webmentor.dk/bug.jpg
Det virker til at være meget tilfældigt når det sker. Jeg har oplevet at det er sket ved at jeg har tilføjet en linie kode så som MessageBox.Show(myComboBox.SelectedText) i en button hvis kode aldrig eksekveres. Omvendt så virkede det hvis jeg forsøgte at bruge .SelectedValue - igen, koden blev IKKE kørt, så det undrer mig meget hvilken indflydelse det har.
Nuvel, jeg undgik at bruge en combobox hvorved jeg undgik buggen. Nu er den dog begyndt at komme mere og mere, især hvis min OnPaint er tung at trække, dvs. at jeg laver en masse langsomme udregninger deri. Det er ikke fordi at den tidligere OnPaint ikke er færdig med at tegne førend den bliver kaldt igen, det har jeg tjekket for.
Jeg får ingen exceptions ved runtime, og ingen compile fejl/warnings.
Nogen der kan sige mig hvorfor det sker, og endnu bedre, hvad jeg gør for at undgå problemet?