An example of BackGroundWorker in C#. All you need to know on BackGroundWorker.
File list:
BackGroundWorker
...............\BackGroundWorker
...............\................\bin
...............\................\...\Debug
...............\................\...\.....\BackGroundWorker.exe
...............\................\...\.....\BackGroundWorker.pdb
...............\................\...\.....\BackGroundWorker.vshost.exe
...............\................\...\.....\BackGroundWorker.vshost.exe.manifest
...............\................\obj
...............\................\...\x86
...............\................\...\...\Debug
...............\................\...\...\.....\TempPE
...............\................\...\...\.....\......\Properties.Resources.Designer.cs.dll
...............\................\...\...\.....\App.g.cs
...............\................\...\...\.....\App.g.i.cs
...............\................\...\...\.....\BackGroundWorker.csproj.FileListAbsolute.txt
...............\................\...\...\.....\BackGroundWorker.exe
...............\................\...\...\.....\BackGroundWorker.g.resources
...............\................\...\...\.....\BackGroundWorker.pdb
...............\................\...\...\.....\BackGroundWorker.Properties.Resources.resources
...............\................\...\...\.....\BackGroundWorker_MarkupCompile.cache
...............\................\...\...\.....\BackGroundWorker_MarkupCompile.i.cache
...............\................\...\...\.....\DesignTimeResolveAssemblyReferences.cache
...............\................\...\...\.....\DesignTimeResolveAssemblyReferencesInput.cache
...............\................\...\...\.....\GenerateResource.read.1.tlog
...............\................\...\...\.....\GenerateResource.write.1.tlog
...............\................\...\...\.....\MainWindow.baml
...............\................\...\...\.....\MainWindow.g.cs
...............\................\...\...\.....\MainWindow.g.i.cs
...............\................\Properties
...............\................\..........\AssemblyInfo.cs
...............\................\..........\Resources.Designer.cs
...............\................\..........\Resources.resx
...............\................\..........\Settings.Designer.cs
...............\................\..........\Settings.settings
...............\................\App.xaml
...............\................\App.xaml.cs
...............\................\BackGroundWorker.csproj
...............\................\BWHelper.cs
...............\................\MainWindow.xaml
...............\................\MainWindow.xaml.cs
...............\................\ValueMonitor.cs
...............\BackgroungWorkerHelper
...............\......................\bin
...............\......................\...\Debug
...............\......................\...\.....\BackgroungWorkerHelper.exe
...............\......................\...\.....\BackgroungWorkerHelper.pdb
...............\......................\...\.....\BackgroungWorkerHelper.vshost.exe
...............\......................\...\Release
...............\......................\...\.......\BackgroungWorkerHelper.exe
...............\......................\...\.......\BackgroungWorkerHelper.pdb
...............\......................\obj
...............\......................\...\x86
...............\......................\...\...\Debug
...............\......................\...\...\.....\TempPE
...............\......................\...\...\.....\BackgroungWorkerHelper.BWExample.resources
...............\......................\...\...\.....\BackgroungWorkerHelper.csproj.FileListAbsolute.txt
...............\......................\...\...\.....\BackgroungWorkerHelper.exe
...............\......................\...\...\.....\BackgroungWorkerHelper.pdb
...............\......................\...\...\.....\BackgroungWorkerHelper.Properties.Resources.resources
...............\......................\...\...\.....\DesignTimeResolveAssemblyReferences.cache
...............\......................\...\...\.....\DesignTimeResolveAssemblyReferencesInput.cache
...............\......................\...\...\.....\GenerateResource.read.1.tlog
...............\......................\...\...\.....\GenerateResource.write.1.tlog
...............\......................\...\...\Release
...............\......................\...\...\.......\TempPE
...............\......................\...\...\.......\BackgroungWorkerHelper.BWExample.resources
...............\......................\...\...\.......\BackgroungWorkerHelper.csproj.FileListAbsolute.txt
...............\......................\...\...\.......\BackgroungWorkerHelper.exe
...............\......................\...\...\.......\BackgroungWorkerHelper.pdb
...............\......................\...\...\.......\BackgroungWorkerHelper.Properties.Resources.resources
...............\......................\...\...\.......\DesignTimeResolveAssemblyReferencesInput.cache
...............\......................\...\...\.......\GenerateResource.read.1.tlog
...............\......................\...\...\.......\GenerateResource.write.1.tlog
...............\......................\Properties
...............\......................\..........\AssemblyInfo.cs
...............\......................\..........\Resources.Designer.cs
...............\......................\..........\Resources.resx
...............\......................\..........\Settings.Designer.cs
...............\......................\..........\Settings.settings
...............\......................\BackgroungWorkerHelper.csproj
...............\......................\BWExample.cs
...............\......................\BWExample.Designer.cs
...............\......................\BWExample.resx
...............\......................\BWHelper.cs
...............\......................\Program.cs
...............\......................\ValueMonitor.cs
...............\BackgroundWorkerHelper.sln
...............\BackgroundWorkerHelper.suo