我一直在基於ListView的音樂播放器在C#中使用NAudio過去幾天的工作。現在是我開始研究前進/前進功能的時候了,但我在路上遇到了一些問題。我需要選擇listView中的下一個項目。但是,它並未被用戶選中,而是被標記爲現在正在使用默認ListView複選框旁邊的複選標記進行播放。返回ListView中的下一個項目與扭曲
這裏是什麼樣子:
我有一個公共字符串這是由任何訪問;它具有當前正在播放的曲目的文件名。每當我點擊播放曲目,我都有一個foreach循環遍歷這個listView中的所有項目(我在另一個選項卡中有第二個列表視圖,其中包含我點擊播放的所有音樂),如果文件名子項目和當前正在匹配的字符串匹配,然後它檢查它。如果沒有,它取消選中。
我的主類中有一個事件處理程序,用於回放停止在軌道上。將會有什麼進入下一個軌道的邏輯。我有什麼做一個總體思路,但我不知道如何去這樣做
- 獲得該項目的指標與複選標記旁邊
- 後獲得該項目
- 檢索它的文件名子項
- 發揮它
那麼將去這樣做的方法是什麼?我仍然有點混淆listViews等。
更新:另外,它有多大的可能性是禁用用戶檢查複選框,我已經記下了它的雙擊時,但當用戶檢查複選框本身時怎麼辦?
更新2:這裏有一些劃痕代碼我的工作,我認爲你只是對那裏的事件處理程序上
public void waveOutDevice_PlaybackStopped(object sender, StoppedEventArgs e)
{
string fileName;
foreach (ListViewItem lvi in playListView.Items)
{
fileName = lvi.SubItems[1].Text;
if(lvi.Checked == true)
{
int finIndex;
lvi.Checked = false;
finIndex = lvi.Index;
//finIndex + 1;
}
}
}
你能分享你的事件處理?沒有一些代碼很難說。旁註 - 您可以通過使用readonly屬性禁用用戶檢查複選框。 – kmacdonald
現在,事件處理程序只有一些我正在試驗的臨時代碼。即時編輯立即與它 – MrMiketheripper