Pergunta : Redesenhar o problema quando a aplicação é ocupada - rosqueiam operações?

Eu tenho uma aplicação em VS2008 (VB.NET) que executa algumas operações longas. Em meu formulário principal, eu tenho uma barra do progresso (na modalidade do famoso) essa mim gostaria de ser visível. Quando a aplicação está executando submarinos e funções, o formulário trava acima e é extraído mal (como retratado) por diversos minutos quando o código for executado - eu acredito que a solução é funcionar as funções em uma outra linha. Como isto é feito SIMPLESMENTE? o

When que uma tecla de rádio é selecionada, as funções é código de executed.
Example:
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= do
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
class= " do id= " codeSnippet814463 do
…
  ElseIf Me.RadioButtoni7.Checked = retifica então
    ExecuteOperation (“começo”)
    RestartClusteredServiceProduction (“HF1”)
    RestartClusteredServiceProduction (“Sys2”)
    ExecuteOperation (“batente”)
  ElseIf Me.RadioButtoni8.Checked = retifica então
    ExecuteOperation (“começo”)
    RestartPSProduction ()
    RestartSFProduction ()
    RestartQRProduction ()
    ExecuteOperation (“batente”)
  ElseIf Me.RadioButtoni9.Checked = retifica então
    ExecuteOperation (“começo”)
    RestartTServerTest ()
    RestartEPSTest ()
    ExecuteOperation (“batente”)
  ElseIf Me.RadioButtono1.Checked = retifica então
…
class= do " lastRow do
>Attachments do " nome " do class= do class= " valor " do
>

nome de arquivo " do class= do >g3freeze.png " fileSize " > (28 KB) Javascript " do href= o " dos " attachmentDetails do class= de (tipo de lima detalhes)
>Application da " descrição " do class= do
largura do style= do > aplicação do “src=” /images/t327293/g3freeze.png” congelada ao executar”/></a>
</div>
      o class= de </div><div
do >
>
nome de arquivo " do class= do >g3normal.png " fileSize " > (27 KB) Javascript " do href= o " dos " attachmentDetails do class= de (tipo de lima detalhes)
>How que da " descrição " do class= do
largura do style= do > do “src=” /images/t327294/g3normal.png como a aplicação deve olhar ao executar (a barra do progresso é visível) (alguns elementos do formulário pixelated para a privacidade/segurança)”/></a>
</div>
      o class= de </div><div
do >
class= do

Resposta : Redesenhar o problema quando a aplicação é ocupada - rosqueiam operações?

Abaixo está alguma exibição do código pseudo uso simplificado do controle de BackgroundWorker ():
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
Classe pública Form1

    Punhos confidenciais Button1.Click do submarino Button1_Click (remetente de ByVal como System.Object, ByVal e como System.EventArgs)
        BackgroundWorker1.RunWorkerAsync (ParameterOptionalHere)
    Submarino da extremidade

    Punhos confidenciais BackgroundWorker1.DoWork do submarino BackgroundWorker1_DoWork (remetente de ByVal como o objeto, ByVal e como System.ComponentModel.DoWorkEventArgs)
        'agarrar o parâmetro se usado:
        Escurecer x = molde de e.Argument 'a o que quer que você precisa
        Foo (x)
    Submarino da extremidade

    Foo secundário confidencial ()

        '… seu submarino existente…

        'Usar ReportProgress () se você precisa de atualizar o GUI durante a operação:
        BackgroundWorker1.ReportProgress (0, ANY_OBJECT_HERE)
        'o primeiro parâmetro é tipicamente 0 a 100  para um progressbar
        'o segundo parâmetro pode ser usado a passy QUALQUER COISA
    Submarino da extremidade

    O submarino confidencial BackgroundWorker1_ProgressChanged (remetente de ByVal como o objeto, ByVal e como System.ComponentModel.ProgressChangedEventArgs) segura BackgroundWorker1.ProgressChanged
        '… atualização o GUI deste evento…
        o primeiro parâmetro de e.ProgressPercentage 'passou a ReportProgress ()
        parâmetro de e.UserState 'o segundo passou a ReportProgress () --> moldá-lo com C ()
    Terminar o submarino

    O submarino confidencial BackgroundWorker1_RunWorkerCompleted (remetente de ByVal como o objeto, ByVal e como System.ComponentModel.RunWorkerCompletedEventArgs) segura BackgroundWorker1.RunWorkerCompleted
        '… isto fogos quando a operação do backgroundworker estiver completa…
    Submarino da extremidade

Classe da extremidade
Outras soluções  
 
programming4us programming4us