Slik kjører Visual Basic Delrutine i bakgrunnen
Når et dataprogram trenger å utføre en lang trukket ut subrutine, er det best å ha det utføre subrutinen som bakgrunn tråd. En bakgrunnsprosess normalt ikke har samme prioritet som et brukergrensesnitt prosess, så det vil kjøre saktere. Subrutiner kan inkludere å se etter og laste ned oppdateringer, overføre loggfiler eller utføre lange beregninger.
Bruksanvisning
1 Begynn Visual Basic og opprett et nytt prosjekt av Windows skjemaet prosjekttype.
2 Gjør den første linjen i koden filen:
"Import System.Threading"
Og legge til:
"Dim t Som tråden"
til hovedklassen i form.
3 Legg til en knapp til skjemaet og endre navn til "btnStart." Endre knappen tekst egenskapen til «Start Bakgrunn Process."
4 Legg til følgende kode i "btnStart" klikk handling:
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
t = ny tråd (AddressOf Me.BackgroundProcess)
t.Priority = ThreadPriority.BelowNormal 'Dette vil presse subrutine enda lenger inn i bakgrunnen
t.Start ()
End Sub
Denne rutinen vil starte en prosess i bakgrunnen og gi den en lavere enn normal prioritet så det vil kjøre litt saktere og ikke forstyrre elementene i brukergrensesnittet.
5 Legg subrutinen skal kjøre i bakgrunnen:
Private Sub BackgroundProcess()
"Gjør en lang prosess her, ikke bare en uendelig løkke
Gjør Mens Sann
Loop
End Sub
6 For grundighet, legge til følgende kode i form avsluttende metode:
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
t.Abort ()
End Sub
Uten denne rutinen, vil programmet ikke avslutter normalt fordi tråden vil fortsatt være i drift.
7 Kjør programmet og klikk på den eneste knappen på skjemaet. Dette vil starte prosessen det er å kjøre i bakgrunnen.
Hint
- Sørg for å holde alt i subrutinen skal kjøres i bakgrunnen veldig isolert. Uten å bruke mer avanserte tråder teknikker, er det ikke mulig å vite hva som skjer til enhver tid.