Backgroundworker och delegat ?

av den 12 Nov, 2013, i kategorin Okategoriserade

Halloj,

Har ni precis som jag suttit med ett projekt där ni stör er på hängande UI och slutar upp med en topp som ser ut ungefär såhär?

Nu var det iofs länge sedan det såg ut såhär för mig, men det var det sämsta exemplet jag kunde komma på i sittande stund.

Jag satt med ett någorlunda intressant projekt ganska nyligen där jag skulle gå ut och hämta saker från AD och även från WMI angående specifika klienter. Detta skulle presenteras snyggt och fint i en WinForms applikation men att hämta all denna informationen fick ju självklart GUI’t att hänga sig fram tills allt arbete var klart, så jag stod inför ett ganska enkelt val; Jag behöver trådar !

Dom gångerna jag behövt använda trådar innan så har detta varit på små applikationer som gått i bakgrunden eller service’ar. I dessa fall så har jag arbetat med System.Threading.Timer :) väldigt enkelt att stoppa in objekt i och den slår bara till när man behöver det. Men i detta fallet så verkade detta vara väldigt onödigt och fult, så jag behövde något annat. Jag googlade runt lite för att se hur man gör detta på bästa sätt och för att enkelt kunna läsa koden efteråt utan att behöva scrolla upp och ner för att hitta relevans. Jag kom fram till att detta är enkelt att skriva och enkelt att läsa:

Lek med tanken att ni har en liten progressbar som ska visa hur bra eran task går, nu kanske detta inte är bästa exemplet men för att fortsätta med vad jag har skrivit ovan så har ni:

Sådär, så enkelt vart det i slutändan :)


Lämna en kommentar

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!