как запустить несколько фоновых процессов в кнопке - PullRequest
0 голосов
/ 29 мая 2011

У меня проблема. Я новичок в C #. В этом коде, когда я нажимаю кнопку2, он будет работать только bgutures.RunWorkerAsync();. Но мне нужно изменить его, например, если я нажму button2, все элементы, содержащиеся в checkedListBox1.allitems, будут загружены один за другим в bgworker. Может кто-нибудь, пожалуйста, помогите в этом. Мой код:

   private void button2_Click(object sender, EventArgs e)
    {
        button2.Enabled = false;
        string DayAtoZ = " ";
        string DayDead = " ";
        string Dayutures = " ";
        string Daysify = " ";
        string Dayfx = " ";

        if (checkedListBox1.SelectedItem == "")
        {

        }
        else if (checkedListBox1.SelectedItem == Dayutures)
        {


        }
        else if (checkedListBox1.SelectedItem == DayAtoZ)
        {

        }

        else if (checkedListBox1.SelectedItem == Daysify)
        {

        }
        else if (checkedListBox1.SelectedItem == DayDead)
        {

        }
        else if (checkedListBox1.SelectedItem == Dayfx)
        {

        }

        {
            bgutures.RunWorkerAsync();
        }
        {
            bgDead.RunWorkerAsync();
        }


        {
            bgsify.RunWorkerAsync();
        }



        {
            bgAtoZ.RunWorkerAsync();
        }
        {

        }

    }

1 Ответ

1 голос
/ 29 мая 2011

Вместо одного BackgoundWorker используйте столько, сколько вам нужно.

    if (checkedListBox1.SelectedItem == "")
    {
       var worker = new BackgroundWorker();
       .. do setup
       worker.RunWorkerAsync();
    }
    else if (checkedListBox1.SelectedItem == Dayutures)
    {
       var worker = new BackgroundWorker();
       .. do setup
       worker.RunWorkerAsync();
    }
...