Quando un programma per computer deve eseguire una lunga subroutine estenuante , è meglio averlo esegue il sottoprogramma 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 verrà eseguito più lentamente . Le subroutine possono includere il controllo e il download degli aggiornamenti , il trasferimento di file di log o di eseguire calcoli lunghi . Cose che ti serviranno
Visual Basic
Show More Istruzioni
1
Avviare Visual Basic e creare un nuovo progetto del tipo di progetto Windows form .
2
Fai la prima riga del file di codice :
"importazioni System.Threading "
e aggiungere :
" Dim t Come Discussione "
< p > per la classe principale in forma .
3
Aggiungere un pulsante al form e cambiare il nome in " btnStart . " Modificare la proprietà Text del pulsante "Avvia processo in background . "
4
Aggiungere il seguente codice per il " btnStart " azione click:
Private Sub btnStart_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles btnStart.Click
t = New Thread ( AddressOf Me.BackgroundProcess ) per
t.Priority ThreadPriority.BelowNormal = ' Questo spingerà la subroutine ancora di più in Sullo sfondo
T.Inizio ( ) per
End Sub
Questa routine avviare un processo in background e dargli una priorità normale inferiore modo che verrà eseguito un po ' più lentamente e non interferire con gli elementi dell'interfaccia utente
5
Aggiungi il sottoprogramma deve essere eseguito in background : .
private Sub BackgroundProcess ( ) per
' Fate un lungo processo di qui , non solo un loop infinito
do while True
loop
End Sub
6
Per completezza , aggiungere il codice seguente alle forme metodo di chiusura :
Form1_FormClosing private Sub ( ByVal sender As Object , ByVal e As System.Windows.Forms.FormClosingEventArgs ) Maniglie Me.FormClosing
t.Abort ( )
End Sub
senza questa procedura , il programma non uscirà normalmente perché il thread sarà ancora in esecuzione .
7
Eseguire il programma e cliccare sul solo pulsante sul form . Questo avvierà il processo che deve essere eseguito in background .