April 20
Quando un programma per computer deve eseguire una subroutine molto allungato, è meglio averlo eseguire la subroutine come un thread in background. Un processo in background di solito non ha la stessa priorità di un processo di interfaccia utente, in modo che eseguirà più lentamente. Le subroutine possono includere il controllo e il download degli aggiornamenti, il trasferimento di file di registro o l'esecuzione di calcoli lunghi.
1 Avviare Visual Basic e creare un nuovo progetto del tipo di progetto Windows Form.
2 Effettuare la prima riga del file di codice:
"Le importazioni System.Threading"
E aggiungi:
"Dim T come filo"
per la classe principale nella forma.
3 Aggiungere un pulsante al form e cambiare il suo nome in "btnStart." Modificare proprietà di testo del pulsante "Start processo in background."
4 Aggiungere il seguente codice per l'azione di clic "btnStart":
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
t = nuova discussione (AddressOf Me.BackgroundProcess)
t.Priority = ThreadPriority.BelowNormal 'Questo spingerà la subroutine ancora di più in secondo piano
t.Start ()
End Sub
Questa routine avviare un processo in background e dare un più basso del normale priorità modo che verrà eseguito un po 'più lentamente e non interferire con gli elementi dell'interfaccia utente.
5 Aggiungere il sottoprogramma deve essere eseguito in background:
Private Sub BackgroundProcess()
'Fare un processo lungo qui, non solo un ciclo infinito
Do While True
Ciclo continuo
End Sub
6 Per completezza, aggiungere il seguente codice al metodo di chiusura forme:
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
t.Abort ()
End Sub
Senza questa routine, il programma non uscirà normalmente perché il filo sarà ancora in esecuzione.
7 Eseguire il programma e fare clic sul pulsante solo sul modulo. Questo avvierà il processo che deve essere eseguito in background.