问题描述
foreach(RecordrecordinlistRecords){//test2.Text=test2.Text+record.filepath;if(record.no!=1){listView1.Items[record.no-2].BackColor=Color.Red;}listView1.Items[record.no-1].BackColor=Color.LightGray;SoundPlayerplayer=newSoundPlayer(record.filepath);player.PlaySync();}我想播放一首歌曲同时界面播放的歌曲加背景,前一首歌曲的背景去掉,但是不能实现。第一首播完,第二首播放了却没有加背景颜色,第一首颜色没去掉,第三首播完了第三首的背景色才加上,前两首的背景才消掉。注:去掉背景色的颜色我用Red代替的。请帮我解答一下谢谢!
解决方案
解决方案二:
不同步的原因是比较耗时间的操作都放在主线程中,导致主线程被阻塞。解决方法是:耗时操作都放在线程中,线程与界面的交互通过委托实现。同时,业务逻辑设计的时候,要将数据处理与界面处理分离。
解决方案三:
恩谢谢我学习写写
时间: 2024-08-01 16:13:43