본문 바로가기
개발언어/C#

[C#] 파일 다중선택 열기(OPENFILEDIALOG)

by 창용이랑 2020. 12. 22.
728x90

C#에서 파일을 다중으로 선택하여 가져오기를 하는 코드이다.

 

MP3 파일을 다중으로 선택하여 가져오기를 할 경우에 적용해본 코드이다.

 

private void MP3File_Open()
{
    using (OpenFileDialog dlgOpen = new OpenFileDialog())
    {
        dlgOpen.Filter = "MP3 File|*.mp3";
        dlgOpen.Title = "Select Audio File";
        dlgOpen.Multiselect = true; // 파일 다중 선택
        //dlgOpen.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
        if (dlgOpen.ShowDialog() == DialogResult.OK)
        {
            for (int i = 0; i < dlgOpen.FileNames.Length; i++)
            {
                FileOpen_ListView(dlgOpen.FileNames[i], listView1);
            }
        }
    }
}



private void FileOpen_ListView(string fileName, ListView LV)
{
    if (File.Exists(fileName))
    {
        if (Path.GetExtension(fileName).ToLower() == ".mp3")
        {
            Load_MP3(fileName, LV);
        }     
    }
}





for 문 대신에 foreach 문을 사용하면 .....

private void MP3File_Open()
{
    using (OpenFileDialog dlgOpen = new OpenFileDialog())
    {
        dlgOpen.Filter = "MP3 File|*.mp3";
        dlgOpen.Title = "Select Audio File";
        dlgOpen.Multiselect = true; // 파일 다중 선택
        if (dlgOpen.ShowDialog() == DialogResult.OK)
        {
            foreach (string file in dlgOpen.FileNames)
            {
                try
                {
                    FileOpen_ListView(file, listView1);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
    }
}