Avatar billede bootie Nybegynder
02. juli 2005 - 12:13 Der er 2 kommentarer og
1 løsning

Overrider OnPaint, men min application bliver kun malet een gang

Hej xperter

Jeg har lavet en lille application med nogle kort på og en knap der tæller en variable op der gør at den næste kort skal vises med face opda.

Men af grunde jeg åbenbart ikke helt forstår bliver min application ikke tegnet efter jeg tæller variablen op.

Hvis jeg laver en label og skriver variablen ud i kan jeg se at den rent faktisk bliver talt op. Sætter jeg label.Text = variable ind i OnPaint metoden bliver den optalte værdi ikke vist så jeg mangler noget action der trigger min OnPaint metode, men jeg kan ikke finde ud af at kalde den.

Metodehoved:
protected override void OnPaint(PaintEventArgs e)

Skal jeg selv, hvergang jeg vil have opdateret skærmen, kalde den eller findes der noget der lytter på om der er en ændring vi skal tage os af og derved kalde OnPaint?
Avatar billede driis Nybegynder
02. juli 2005 - 12:19 #1
Invalidate();

Invaliderer klientområdet og 'trigger' således en Paint event. Så hver gang der er sket ændringer, du gerne vil have reflekteret ved at der tegnes anderledes, skal du invalidere området. Bemærk, du kan nøjes med at invalidere et mindre område end hele formen ved at bruge en af de overloadede versioner af Invalidate.
Avatar billede bootie Nybegynder
02. juli 2005 - 12:20 #2
this.Invalidate();
Avatar billede bootie Nybegynder
02. juli 2005 - 12:21 #3
Driis to the rescue :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester