1

バックグラウンドワーカーを使用して提供されたディレクトリ内のファイルを検索するアプリケーションに取り組んでいます...問題は backgroundWorker1.RunWorkerAsync(); にあります。

以下は、テキストボックスに入力したファイルを検索するための複数のパスを指定しようとしているときの私のコードです

private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyValue == 13)
    {
        foreach (string s in listBox1.Items)
        {
            DirectoryInfo deer = new DirectoryInfo(s);
            toolStripButton2.Visible = true;
            //listView1.Items.Clear();
            if (!backgroundWorker1.IsBusy)
            {
                backgroundWorker1.RunWorkerAsync(deer);
            }
            else
                MessageBox.Show("Can't run the worker twice!");
            // backgroundWorker1.RunWorkerAsync(deer);
        }
    }
    listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
    listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
}

次のエラーが表示されます

この BackgroundWorker は現在ビジーで、複数のタスクを同時に実行できません。私を助けてください..

4

2 に答える 2