で困っていMarquee
ProgressBar
ます。を取得するには、メソッド ( refreshList()
)を実行する必要がありList<string>
ます。List
次に、これをに割り当てるComboBox
のでComboBox
、新しい で更新されItems
ます。refreshList()
3〜4秒かかるので、実行したかったMarquee
ProgressBar
. しかし、私はできませんでした。ProgressBar
大丈夫ですが、ComboBox
new をロードしません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));
}
しかし、残念ながらこれはうまくいきません。この問題を解決するのを手伝ってくれる人はいますか? 前もって感謝します。