I've a class with all my methods implemented , doing its job , etc. Then i have my Form1 - where i have a FileSystemWatcher component and some buttons\checkboxes instances.
I've been reading about BackgroundWorker , ProgressBar , but i can't figure out who should i implement in order to show the progress.
Since "everything happens" inside the .cs file (my class), is there an way to display its output ? And how is the FileSystemWatcher going to interact with it (everything happens after i call the watch method - before that nothing is done).
example: On my class, i've a function to Read Files , then another function for converting those files to XML. I would like to show the progress for each file being readed, then each file being converted. I got it done when i had a Console Application (found an method that did its job) but i can't understand how to implement it on a WinForm application.
If everything was inside the Form1.cs code sure it would be easier. I tried to make an "sample" because my original code is too big.
Code example:
public class Foo
{
//foo vars and methods...
}
And then, the form method
 public partial class Form1 : Form
    {
        private Foo prg;
        public Form1()
        {
            InitializeComponent();
            prg = new Foo();
            prg.LoadConfig();
            FillTextBox();
    }
       private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
//Do some checkbox verifications.... 
//after verification is done calls the Watcher (ProgramProcessing)
prg.ProgramProcessing(textBox1.Text);
}
What i want is to show a progress bar based on this watcher. Everything happens after he's triggered.
Edit: BackGroundWorker Sample Code with progressbar i've been trying to use:
   private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
        // do some long-winded process here
        // this is executed in a separate thread
        int maxOps = 1000000;
        for (int i = 0; i < maxOps; i++)
        {
            rtbText.AppendText(i.ToString() + "\r\n");
            // report progress as a percentage complete
            bgWorker.ReportProgress(100 * i / maxOps);
        }
    }
    private void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
        // update the progress bar
        pbProgress.Value = e.ProgressPercentage;
    }
    private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        // return to "normal" mode of operation
        this.Cursor = Cursors.Default;
        //btnGo.Enabled = true;
    }
 
    