Pour de nombreuses raisons, je ne peux pas exécuter la partie principale du code dans un arrière-plan, mais je peux ouvrir une boîte de dialogue Chargement en arrière-plan, mais fermer la boîte de dialogue. J'ai implimented ce qui suit, mais je ne suis pas sûr de savoir comment fermer avec force le travailleur de fond après l'exécution de code:Chargement de la boîte de dialogue dans BackgroundWorker
LoaderWorker = new BackgroundWorker();
//Loading is the Form
Loading Loader = new Loading("Daten Exportieren");
LoaderWorker.DoWork += (s, args) =>
{
//Show Loading Dialog
Loader.Show();
};
ExecuteMainTasks();
//Here i need to stop the backgroundworker after the method above is complete.
Y at-il une solution à ce avec un travailleur de fond ou devrais-je utiliser une approche différente pour assurer i ne verrouillez pas le fil d'interface utilisateur pour le chargeur. Rappelez-vous ... je ne peux pas exécuter le code principal dans le backgroundworker donc je dois gérer cela un peu en arrière.
Merci.
Merci Yeoman mais j'utilise C# 6 et je ne trouve aucune référence à Dispatcher.BeginInvoke ou aux assemblages associés. Avez-vous par hasard un exemple rapide de la façon dont cela est implanté? Je cherche juste à exécuter un gif animé sous une forme dans un worker d'arrière-plan puis à exécuter une opération complexe sur l'arrière-plan et à fermer l'arrière-plan par la suite ... très en arrière, mais je dois le faire de cette façon. –
Quelle structure d'interface utilisateur utilisez-vous? Windows Forms, WPF ou WinRT? – yeoman
Je pense que WinRT est maintenant appelé Universal Windows Apps, btw. – yeoman