Quando um programa de computador precisa para executar uma sub-rotina de longo fôlego , é melhor tê-lo executar a sub-rotina como um thread em segundo plano . Um processo de fundo normalmente não tem a mesma prioridade que um processo de interface do usuário, para que ele irá executar mais lentamente. As sub-rotinas podem incluir a verificação de e baixar as atualizações , a transferência de arquivos de log ou realizar cálculos longos . Coisas que você precisa
Visual Basic
Visualizar Mais instruções
1
Inicie o Visual Basic e crie um novo projeto do tipo de projeto Windows Form.
2
Faça a primeira linha do arquivo de código:
" Imports System.Threading "
E acrescentam:
" Dim t Como Tópico "
para a classe principal no formulário.
3
Adicionar um botão ao formulário e altere seu nome para " btnStart ". Altere a propriedade texto do botão para " iniciar o processo de plano de fundo. "
4
Adicione o seguinte código para o " btnStart " clique ação :
Private Sub btnStart_Click (sender System.Object , ByVal e As System.EventArgs ) Handles btnStart.Click
t = New thread ( AddressOf Me.BackgroundProcess )
t.Priority = ThreadPriority.BelowNormal 'Isto vai empurrar o sub-rotina ainda mais em o fundo
t.Start ()
End Sub
Essa rotina vai iniciar um processo em segundo plano e dar-lhe um mais baixo do que prioridade normal por isso vai correr um pouco . mais lentamente e não interferir com os elementos da interface do usuário
5
Adicione a sub-rotina deve ser executado em segundo plano :
Private Sub BackgroundProcess ()
' Faça um longo processo aqui, não apenas um loop infinito
não While True
loop
End Sub
6
Para rigor , adicione o código a seguir para as formas método de fechamento :
Sub Form1_FormClosing privada (sender as Object , ByVal e As System.Windows.Forms.FormClosingEventArgs ) Handles Me.FormClosing
t.Abort ()
End Sub
Sem essa rotina , o programa não sairá normalmente porque o segmento ainda estará funcionando .
7
Execute o programa e clicar na única botão no formulário . Isto irá iniciar o processo que é executado em segundo plano .