Vad är skillnaden, likheten mellan dessa tre utryck? Ett enekelt tips från min sida är att du slår upp dem i msdn library, du finner den på: Har du ett prov på det snart eller ;) Kanon bra Fredrik. Du behöver igenligen bara använda Application.DoEvents() när du gör loopar. När din applikation hamnar i en loop så utför den inget annat, men om du lägger till DoEvents i loopen så utför den alla event eller rättare sagt message som kommer till Windows applikationens meddelande kö.Vad är skillnaden?
listView1.Refresh();
this.update
Application.DoEvents();
Det vore bra att veta för/nackdelar och när man bör använda dessa.Sv: Vad är skillnaden?
http://msdn.microsoft.com
blir enklare för dig att slå upp det du söker där än för oss att svara på din fråga, då svaret kan bli långt :-)
//Johan NSv: Vad är skillnaden?
ListView.Refresh() ärvs från Control. Alla Controller som ärver från Control har Refresh.
Den ritar om hela sig själv och alla dess barn.
Om this.update och Application.DoEvents()
Det beror helt och hållet på vad this är för objekt, jag misstänker att du är ute efter Control.Update den slänger ett WM_PAINT message som talar om att nu vill kontrollen rita om sig, används mest om man vill att den ska rita om de områden som tex ett annat program har förstörts. Områden kan förstöras av andra progem.
Tex: Det händer om du tex har en loop som lägger till saker i en lista och ett annat program dras över kontrollen, de delar som då täcks av det andra programmet blir ej omritade. För att rita om controllen så kan du anropar Update metoden efter din loop.
Ofta har man Application.DoEvents i loopar för att vad den gör är att den utför alla de message som har laggs sig i message kön för en Windows Applikation, tex när ett Windows program ska rita om sig så skickas WM_PAINT in i kön, finns många andra event som oxå skickas in i kön. Om du inte anropar DoEnvents så processar windows applikationen inga message som ligger i kön. Mer om dessa Message och hur Windows hanterar och skickar detta kan du läsa i Platform SDK.
Hoppas detta gav dig de svar du vill ha.
/Fredrik NSv: Vad är skillnaden?
Kan man då dra slutsatsen att det är en fördel att i de flästa classerna använda sig av
Application.DoEvents() i slutet?
Prov, du menar för denna appen?
Nja det är så enkelt att jag registrera mina placeringar som jag har haft på MP3.com.
I och med att jag gillar att programmera(är tyvärr för stor amatör) så har detta blivet ett syfte med skälvändamål, alltså ingenting som skall lanceras.
(är du nyficken på mp3-siten så www.mp3.com/saw_songer)
Håll till godo...Sv: Vad är skillnaden?
Så du behöver igenligen inte anropa Application.DoEvents förutom i loopar.
Så använd Application.DoEvents() i dina loopar enbart då den inte kan processa något annat.
Så länge du inte är i en loop så fixar Windows alla omritning etc åt dig automatiskt.
/Fredrik N