【发布时间】:2011-12-24 18:22:47
【问题描述】:
我正在写一个音乐播放器。这是将目录添加到播放列表的(早期)代码:
private void SelectFolderButton_Click(object sender, EventArgs e)
{
int count = 0;
AddFolderDialog.ShowDialog();
if(AddFolderDialog.SelectedPath != string.Empty)
{
BackgroundWorker bgw = new BackgroundWorker();
bgw.DoWork += (a,b) => playlist.AddFolder(AddFolderDialog.SelectedPath, RecursiveCheckBox.Checked, out count);
bgw.RunWorkerAsync();
bgw.RunWorkerCompleted += (a, b) => mainStatusLabel.Text = "Added " + count + " songs"; ;
bgw.RunWorkerCompleted += (a, b) => DrawPlaylist();
}
}
我刚开始使用线程。第一个问题是,这是一个正确的代码吗?这里有什么明显的错误吗?第二个问题是我想在添加歌曲时定期显示添加歌曲的数量。不一定是一首歌;一秒钟一次就好了。我如何做到这一点?
【问题讨论】:
标签: c# multithreading backgroundworker