/// <summary> /// Поиск файлов по подстроке /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void textBoxSearch_TextChanged(object sender, EventArgs e) { if (textBoxSearch.Text == "") { FileLB.Visible = true; //FileLB предназначен для вывода всех аудиофайлов в папке FileLB2.Visible = false; //FileLB2 предназначен для вывода всех аудиофайлов в папке, которые были найдены при поиске по подстроке } else { filesForSearch = Directory.GetFiles(DirLB.get_DirList(DirLB.DirListIndex)).ToList();//получение всех файлов в выделенной папке //filesForSearch.TakeWhile(elem => elem.Substring(elem.Length - 4) == ".mp3");//выбор только mp3 файлов FileLB.Visible = false; FileLB2.Items.Clear(); FileLB2.Visible = true; for (int i = 0; i < filesForSearch.Count; i++) { //если найдена подстрока в названии файла и этот файл mp3 if (SearchSubstring(filesForSearch[i].Substring(filesForSearch[i].LastIndexOf("\\") + 1), textBoxSearch.Text) != -1 && SearchSubstring(filesForSearch[i].Substring(filesForSearch[i].LastIndexOf("\\") + 1), ".mp3") != -1) { FileLB2.Items.Add(filesForSearch[i].Substring(filesForSearch[i].LastIndexOf("\\") + 1));//вывод данной песни } else { filesForSearch.Remove(filesForSearch[i]);//иначе удаление из списка файлов i -= 1; } } } }
/// <summary> /// Открытие контекстного меню для прослушивания отдельного трека из папки /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void contextMenu2_Opening(object sender, System.ComponentModel.CancelEventArgs e) { string[] files = Directory.GetFiles(DirLB.get_DirList(DirLB.DirListIndex)); int count = files.Count(t => t.Contains(".mp3"));//подсчитывание количества файлов с расширением mp3 if (count != 0) { if (FileLB.SelectedIndex == -1) { MessageBox.Show("Выберите нужный трек!", "Внимание!", MessageBoxButtons.OK, MessageBoxIcon.Warning); прослушатьToolStripMenuItem.Enabled = false; паузаToolStripMenuItem.Enabled = false; стопToolStripMenuItem.Enabled = false; } else { if (wmp.URL == FileLB.Path + "\\" + FileLB.SelectedItem || wmp.URL == FileLB.Path + FileLB.SelectedItem) { if (!pause) { прослушатьToolStripMenuItem.Enabled = true; паузаToolStripMenuItem.Enabled = true; стопToolStripMenuItem.Enabled = true; } else { прослушатьToolStripMenuItem.Enabled = true; паузаToolStripMenuItem.Enabled = false; стопToolStripMenuItem.Enabled = true; } } else { прослушатьToolStripMenuItem.Enabled = true; паузаToolStripMenuItem.Enabled = false; стопToolStripMenuItem.Enabled = false; } } } else { прослушатьToolStripMenuItem.Enabled = false; паузаToolStripMenuItem.Enabled = false; стопToolStripMenuItem.Enabled = false; } }