Beste mede Tweakers,
Ik zit hier met een probleempje (uiteraard) waarvan ik me afvraag of er een oplossing mogelijk is..
Ik heb een Windows Form applicatie waarin ik een BackGroundWorker heb. Nou is dit de eerste keer dat ik hiermee ga werken en ben nog een beetje aan het spelen hiermee. Het is de bedoeling dat de BackGroundWorker_Update mijn progressBar1 netjes blijft Updaten. Dit doet hij ook en ik begrijp ook hoe het werkt.
Nou heb ik alleen een Method met daarin 2 foreach loops... in de 2e foreach loop roept de Method zichzelf nogmaals aan... zoals hier:
Is er iets om dit anders te doen, ik wil dus die foreach loop (allebei) in mijn Worker_DoWork event zetten maar dit kan dus niet omdat deze method zichzelf vaker aanroept omdat het Source path vaker veranderd.\
Is er manier om te verhelpen? een duwtje in de goede richting zou al super zijn
alvast bedankt,
Vincent
Ik zit hier met een probleempje (uiteraard) waarvan ik me afvraag of er een oplossing mogelijk is..
Ik heb een Windows Form applicatie waarin ik een BackGroundWorker heb. Nou is dit de eerste keer dat ik hiermee ga werken en ben nog een beetje aan het spelen hiermee. Het is de bedoeling dat de BackGroundWorker_Update mijn progressBar1 netjes blijft Updaten. Dit doet hij ook en ik begrijp ook hoe het werkt.
Nou heb ik alleen een Method met daarin 2 foreach loops... in de 2e foreach loop roept de Method zichzelf nogmaals aan... zoals hier:
C#:
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
| public void CopyFolder(string Source, string Destination, bool Overwrite) { string[] files = Directory.GetFiles(source); string[] folders = Directory.GetDirectories(source); foreach (string file in files) { // Hier zou ik graag een Worker.Update() willen doen // Ik heb namelijk nog een TotalFilesInSource function die ProgressBar.Maximum bepaalt // Zo kan ik per file een backGroundWorker.Update() doen string fileName = Path.GetFileName(file); string newFile = Path.Combine(destination, fileName); System.IO.File.Copy(file, newFile, overwrite); } foreach (string folder in folders) { string folderName = Path.GetFileName(folder); string newFolder = Path.Combine(destination, folderName); System.IO.Directory.CreateDirectory(newFolder); CopyFolder(folder, newFolder, Overwrite); } } |
Is er iets om dit anders te doen, ik wil dus die foreach loop (allebei) in mijn Worker_DoWork event zetten maar dit kan dus niet omdat deze method zichzelf vaker aanroept omdat het Source path vaker veranderd.\
Is er manier om te verhelpen? een duwtje in de goede richting zou al super zijn
alvast bedankt,
Vincent
[ Voor 4% gewijzigd door Verwijderd op 15-01-2009 11:34 ]