で困っていMarquee ProgressBarます。を取得するには、メソッド ( refreshList())を実行する必要がありList<string>ます。List次に、これをに割り当てるComboBoxのでComboBox、新しい で更新されItemsます。refreshList()3〜4秒かかるので、実行したかったMarquee ProgressBar. しかし、私はできませんでした。ProgressBar大丈夫ですが、ComboBoxnew をロードしませんItems。
私のrefreshList()方法:
private void refreshList(List<string> list)
{
albumList.DataSource = null;
albumList.DataSource = list;
}
次のコードがありますが、正常に動作します。
private void changeDirectoryToolStripMenuItem_Click(object sender, EventArgs e)
{
fbd.RootFolder = Environment.SpecialFolder.MyComputer;
folderPath = "";
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
folderPath = fbd.SelectedPath;
refreshList(N.getList(folderPath));
}
}
しかし、私は を追加してProgressBar、このコードを書きました:
private void changeDirectoryToolStripMenuItem_Click(object sender, EventArgs e)
{
fbd.RootFolder = Environment.SpecialFolder.MyComputer;
folderPath = "";
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
folderPath = fbd.SelectedPath;
bgWorker.WorkerReportsProgress = true;
bgWorker.RunWorkerAsync();
}
}
そして、私refreshList()はdoWork()メソッドに入れました:
private void bgWorker_DoWork(object sender, DoWorkEventArgs e)
{
refreshList(N.getList(folderPath));
}
しかし、残念ながらこれはうまくいきません。この問題を解決するのを手伝ってくれる人はいますか? 前もって感謝します。