Mi-Soft.nl



avatar Visual Basic backgroundworker 27-07-2013

In deze tutorial gaat het over de backgroundworker van visual basic.
De backgroundworker is een handige kleine tool van visual basic om snel en gemakkelijk uw programma gebruik te laten maken van meerdere threads, waardoor programma's dus niet meer vastlopen als ze lange berekeningen moeten uitvoeren.

Stap 1

Voeg allereerst een button en label toe, het form ziet er dan ongeveer zo uit:

Stap 2

Dubbelklik op button1 en voeg daar de volgende code toe:
For i = 0 To 10000000
Label1.Text = i
Next


Stap 3

Start nu het programma en klik op button1, dit om te laten zien dat zonder een backgroundworker uw programma vast zou lopen. Dit is wat de gebruiker zou zien als U geen backgroundworker zou gebruiken:

Stap 4

Voeg nu een backgroundworker toe, dubbelklik vervolgens op de backgroundworker die onder in de balk er bij is gekomen:

Stap 5

Kopieer de code die onder button1 staat en kopieer dat naar de backgroundworker sub:

Stap 6

Onder button 1 zet U nu de volgende code:
Backgroundworker1.RunWorkerAsync
Het gehele plaatje zal er dan zo uitzien:

Stap 7

Als laatste moet U er nog even voor zorgen dat uw programma niet kijkt naar "Illegal cross threads". Maak een Form_Load event aan door dubbel te klikken op een lege plek in uw form, voeg vervolgens deze code toe:
Me.CheckForIllegalCrossThreadCalls = False
Uw gehele code plaatje zal er dan zo uitzien:

* Zoals u kunt zien is “Me.CheckForIllegalCrossThreadCalls = false” groen onderlijnd is. Om dit weg te halen moet u “Me” vervangen met “Control”

Stap 8

Start uw programma en test de werking ervan.
Visual basic icoon Download de project bestanden

Gerelateerde artikelen

Over de auteur:
Rick's headshot
Rick van Lieshout
Rick van Lieshout is de eigenaar en administrator van Mi-Soft.nl
Ook is hij een manusje van alles en kan daarom in veel categorieen een steentje bijdragen.
U kunt meer over Rick te weten komen op zijn portfolio.
Rick@Mi-Soft.nl | Portfolio | Facebook | Twitter | Google+ | Youtube | Flickr | LinkedIn