コード例 #1
0
ファイル: MainForm.cs プロジェクト: theKirill/MyMusicPlayer
        /// <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;
                    }
                }
            }
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: theKirill/MyMusicPlayer
        /// <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;
            }
        }