This is part of my code:

Code:
        private void browse_button_Click(object sender, EventArgs e)
        {
            toolStripProgressBar1.Value = 0;
            toolStripProgressBar1.Minimum = 0;
            toolStripProgressBar1.Step = 1;
            label_count.Text = "";
            folderBrowserDialog.RootFolder = System.Environment.SpecialFolder.MyComputer;
            folderBrowserDialog.ShowNewFolderButton = false;
            toolStripStatusLabel1.Invalidate();
            DialogResult result = folderBrowserDialog.ShowDialog();
            if (result == DialogResult.OK)
            {
                toolStripStatusLabel1.Text = "Loading... Please wait";
                toolStripStatusLabel1.Invalidate();
                listbox.Items.Clear();
                string foldername = folderBrowserDialog.SelectedPath;
                selected_path.Text = foldername;
                int count = DirCount(foldername);
                toolStripProgressBar1.Maximum = count;
                DirSearch(foldername);
            }
            else if (result == DialogResult.Cancel)
            {
                toolStripStatusLabel1.Text = "";
            }
        }

        void DirSearch(string sDir)
        {
            try
            {
                foreach (string d in Directory.GetDirectories(sDir))
                {
                    DirSearch(d);
                    string name = d.Substring(d.LastIndexOf("\\") + 1);
                    {
                        if (name.ToLower().Contains("cd"))
                        { }
                        else if (name.ToLower().Contains("artwork"))
                        { }
                        else if (name.ToLower().Contains("disc"))
                        { }
                        else if (name.ToLower().Contains("cover"))
                        { }
                        else if (name.ToLower().Contains("label"))
                        { }
                        else if (name.ToLower().Contains("disk"))
                        { }
                        else
                        {
                            if (!Regex.IsMatch(name, numbers))
                            {
                                name = name.Replace("_", " ");
                                listbox.Items.Add(name);
                                toolStripProgressBar1.PerformStep();
                                label_count.Text = listbox.Items.Count.ToString();
                                label_count.Invalidate();
                                double percent = 100.0 * toolStripProgressBar1.Value/ toolStripProgressBar1.Maximum;
                                toolStripStatusLabel1.Text = ((int)percent).ToString();
                               toolStripStatusLabel1.Invalidate();
                            }
                        }
                    }
                }
            }
            catch (System.Exception excpt)
            {
                MessageBox.Show(excpt.Message);
            }
            label_count.Text = listbox.Items.Count.ToString();
            toolStripStatusLabel1.Text = "Done!";
        }
        int DirCount(string sDir)
        {
            int count = 0;
            try
            {
                foreach (string d in Directory.GetDirectories(sDir))
                {
                    count += DirCount(d);
                    string name = d.Substring(d.LastIndexOf("\\") + 1);
                    {
                        if (name.ToLower().Contains("cd"))
                        { }
                        else if (name.ToLower().Contains("artwork"))
                        { }
                        else if (name.ToLower().Contains("disc"))
                        { }
                        else if (name.ToLower().Contains("cover"))
                        { }
                        else if (name.ToLower().Contains("label"))
                        { }
                        else if (name.ToLower().Contains("disk"))
                        { }
                        else
                        {
                            if (!Regex.IsMatch(name, numbers))
                            {
                                count++;
                            }
                        }
                    }
                }
            }
            catch (System.Exception excpt)
            {
                MessageBox.Show(excpt.Message);
            }
            return count;
        }
The problem is, that the toolStripStatusLabel1 nor the label_count don't get updated with the "Loading...Please wait", or the percentage counter during the search/count of the folders. First I had it without the Invalidate() switch, but was then suggested to add it, but that didn't help.

Any bright heads got an idea what might be wrong?