Question : Refaire le problème quand l'application est occupée - filètent des opérations ?

J'ai une application dans VS2008 (VB.NET) qui effectue quelques opérations prolongées. Sur ma forme principale, j'ai une barre de progrès (en mode de chapiteau) cette je voudrais être évident. Quand l'application exécute des sous-marins et des fonctions, la forme ferme à clef vers le haut et est mal dessinée (comme décrit) pendant plusieurs minutes tandis que le code est exécuté - je crois que la solution est de courir les fonctions en un autre fil. Comment est-ce que ceci est allé SIMPLEMENT ? le

When qu'un bouton par radio est choisi, les fonctions sont code d'executed.
Example :
class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
class= " de l'id= " codeSnippet814463 de
…
  ElseIf Me.RadioButtoni7.Checked = rectifient alors
    ExecuteOperation (« début »)
    RestartClusteredServiceProduction (« HF1 »)
    RestartClusteredServiceProduction (« Sys2 »)
    ExecuteOperation (« arrêt »)
  ElseIf Me.RadioButtoni8.Checked = rectifient alors
    ExecuteOperation (« début »)
    RestartPSProduction ()
    RestartSFProduction ()
    RestartQRProduction ()
    ExecuteOperation (« arrêt »)
  ElseIf Me.RadioButtoni9.Checked = rectifient alors
    ExecuteOperation (« début »)
    RestartTServerTest ()
    RestartEPSTest ()
    ExecuteOperation (« arrêt »)
  ElseIf Me.RadioButtono1.Checked = rectifient alors
…
class= " lastRow de
>Attachments de " nom " de class= de
class= " valeur " de
>

>Application de " description " de class= de
largeur de style= de > application du « src= » /images/t327293/g3freeze.png » congelée tout en exécutant »/></a>
</div>
      le class= de </div><div
de >
>
>How de " description " de class= de
largeur de style= de > du « src= » /images/t327294/g3normal.png comment l'application devrait regarder tout en exécutant (la barre de progrès est évidente) (quelques éléments de forme pixelated pour l'intimité/sécurité) »/></a>
</div>
      le class= de </div><div
de >
class= de

Réponse : Refaire le problème quand l'application est occupée - filètent des opérations ?

Au-dessous de est une certaine apparence de pseudocode utilisation simplifiée de la commande 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 publique Form1

    Poignées privées Button1.Click du sous-marin Button1_Click (expéditeur de ByVal comme System.Object, ByVal e comme System.EventArgs)
        BackgroundWorker1.RunWorkerAsync (ParameterOptionalHere)
    Sous-marin d'extrémité

    Poignées privées BackgroundWorker1.DoWork du sous-marin BackgroundWorker1_DoWork (expéditeur de ByVal comme objet, ByVal e comme System.ComponentModel.DoWorkEventArgs)
        'saisir le paramètre si utilisé :
        Obscurcir x = fonte d'e.Argument 'à de celui que vous ayez besoin
        Foo (x)
    Sous-marin d'extrémité

    Foo secondaire privé ()

        '… votre sous-marin existant…

        'Employer ReportProgress () si vous devez mettre à jour le GUI pendant l'opération :
        BackgroundWorker1.ReportProgress (0, ANY_OBJECT_HERE)
        le 'premier paramètre est en général 0 à 100  pour un progressbar
        le 'deuxième paramètre peut être employé à passy QUELQUE CHOSE
    Sous-marin d'extrémité

    Le sous-marin privé BackgroundWorker1_ProgressChanged (expéditeur de ByVal comme objet, ByVal e comme System.ComponentModel.ProgressChangedEventArgs) manipule BackgroundWorker1.ProgressChanged
        '… mise à jour le GUI de cet événement…
        premier paramètre d'e.ProgressPercentage le 'a passé à ReportProgress ()
        paramètre d'e.UserState le 'deuxième a passé à ReportProgress () --> le mouler avec le C ()
    Finir le sous-marin

    Le sous-marin privé BackgroundWorker1_RunWorkerCompleted (expéditeur de ByVal comme objet, ByVal e comme System.ComponentModel.RunWorkerCompletedEventArgs) manipule BackgroundWorker1.RunWorkerCompleted
        '… ceci les feux quand l'opération de backgroundworker est complète…
    Sous-marin d'extrémité

Classe d'extrémité
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us