// 添加LRC private void BTN_Add_Click(object sender, RoutedEventArgs e) { var dialog = new OpenFileDialog(); dialog.Title = "请选择要导入的LRC文件"; dialog.Filter = "歌词文件(*.lrc)|*.lrc"; dialog.Multiselect = true; dialog.FileOk += (obj, arg) => { var files = dialog.FileNames.Except(LrcList.Select(c => c.Path)).ToArray(); if (files.Length != 0) { for (int i = 0; i < files.Length; ++i) { LrcList.Add(new LRC(files[i], LrcList.Count + 1)); } TB_Message.Text = "添加成功,共添加了" + files.Length + "个新文件!"; } else { TB_Message.Text = "没有文件需要添加!"; } }; dialog.ShowDialog(); }
// 移除歌词 private void BTN_Del_Click(object sender, RoutedEventArgs e) { var items = LV_Lrc.SelectedItems; while (items.Count != 0) { LrcList.Remove(items[0] as LRC); } for (int i = 0; i < LrcList.Count;) { LrcList[i].Rank = ++i; } TB_Message.Text = "移除成功!"; }
// 下移 private void BTN_Down_Click(object sender, RoutedEventArgs e) { var lrc = LV_Lrc.SelectedItem as LRC; if (lrc != null && lrc.Rank < LrcList.Last().Rank) { int index = LrcList.IndexOf(lrc); var lowerItem = LrcList[index + 1]; lowerItem.Rank = lrc.Rank++; LrcList.RemoveAt(index + 1); LrcList.Insert(index, lowerItem); TB_Message.Text = "下移成功!"; } else { TB_Message.Text = "不需要移动!"; } }
// 上移 private void BTN_Up_Click(object sender, RoutedEventArgs e) { var lrc = LV_Lrc.SelectedItem as LRC; if (lrc != null && lrc.Rank > 1) { int index = LrcList.IndexOf(lrc); var upperItem = LrcList[index - 1]; upperItem.Rank = lrc.Rank--; LrcList.RemoveAt(index - 1); LrcList.Insert(index, upperItem); TB_Message.Text = "上移成功!"; } else { TB_Message.Text = "不需要移动!"; } }