Search code examples
visual-studiovisual-studio-2008visual-studio-2010toolbox

Toolbox items grayed out in VS 2010


I have tried numerous attempts to fix this problem or bug, firstly by deleting the .tbd files from C:\Users\\AppData\Local\Microsoft\VisualStudio\x.0

I have also tried this:

Visual Studio "Tools" menu "Options" submenu "Windows Form Designer" tab "General" tab Set "AutoToolboxPopulate" to "True"

The ToolBox list is still not populating correctly and the "BackgroundWorker" component I need is grayed out. Any ideas?


Solution

  • I have found a solution to my problem, using the BackgroundWorker class in C# without using the component from the toolbox. In this case, I needed two seperate backgroundWorkers:

    using System.Threading;
    
    public partial class MainWindow : Window
        {
            private BackgroundWorker bw1 = new BackgroundWorker();
            private BackgroundWorker bw2 = new BackgroundWorker();
    
            public MainWindow()
            {
                InitializeComponent();
    
                bw1.WorkerReportsProgress = true;
                bw1.DoWork += new DoWorkEventHandler(bw1_DoWork);
                bw1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw1_RunWorkerCompleted);
                bw1.ProgressChanged += new ProgressChangedEventHandler(bw1_ProgressChanged);
    
                bw2.WorkerReportsProgress = true;
                bw2.DoWork += new DoWorkEventHandler(bw2_DoWork2);
                bw2.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw2_RunWorkerCompleted);
                bw2.ProgressChanged += new ProgressChangedEventHandler(bw1_ProgressChanged);
            }
    
    
            private void bw1_DoWork(object sender, DoWorkEventArgs e)
            {
                StatsProcessor proc = new StatsProcessor();
                proc.CompareStats(listText1, listText2);    
            }
    
            private void bw2_DoWork2(object sender, DoWorkEventArgs e)
            {
                StatsParser parser = new StatsParser();
            }
    
            private void bw1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
            {
                progressBar2.IsIndeterminate = false;
                progressBar2.Value = 100;
    
                btnCompareStats.IsEnabled = true;
    
            }
    
            private void bw2_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
            {
                progressBar1.IsIndeterminate = false;
                progressBar1.Value = 100;
    
                btnFetchStats.IsEnabled = true;
            }
    
            private void bw1_ProgressChanged(object sender, ProgressChangedEventArgs e)
            {
                this.progressBar2.Value = e.ProgressPercentage;
            }
    
            private void bw2_ProgressChanged(object sender, ProgressChangedEventArgs e)
            {
                this.progressBar1.Value = e.ProgressPercentage;
            }
    
            private void btnCompare_Click(object sender, EventArgs e)
            {
                btnCompareStats.IsEnabled = false;
    
                StatsProcessor proc = new StatsProcessor();
    
                if (bw1.IsBusy != true)
                        {
                            progressBar2.IsIndeterminate = true;
    
                            // Start the asynchronous operation.
                            bw1.RunWorkerAsync();
                        }       
    
            }
    
            private void btnFetchStats_Click(object sender, RoutedEventArgs e)
            {
                btnFetchStats.IsEnabled = false;
    
                if (bw2.IsBusy != true)
                    {
                           progressBar1.IsIndeterminate = true;
    
                           // Start the asynchronous operation.
                           bw2.RunWorkerAsync();
                    }
            }
    }