티스토리 뷰

[wpf] 재생목록 만들기(추가, 삭제, 정렬) -윈도 탐색기, 파일 탐색기

왜 아직도 추가 부분인지는 나두 몰라~><♪

저번 포스팅

2021.11.23 - [코딩공부] - [wpf] 재생목록 만들기(추가, 삭제, 정렬) -2 

 

[wpf] 재생목록 만들기(추가, 삭제, 정렬) -2

[wpf] 재생목록 만들기(추가, 삭제, 정렬) -2 동영상 플레이어의 재생목록을 만들어보아요~ 재생목록을 윈도우 탐색기를 열어 목록을 추가하고 제거하고 정렬까지 2021.11.22 - [코딩공부] - [wpf]

bbsy.tistory.com

위에서는 add버튼에 메뉴 추가까지 진행했다.

이젠 윈도우 탐색기를 열어보자!


먼저 난 add버튼에 메뉴를 만들어 파일 추가, 폴더 추가를 더 만들었다.

저걸 클릭하면 이제 파일, 폴더를 추가할 수 있게 해 보자

 

파일을 가져오는 방법은 3가지가 있다.

난 그중에 한 번에 파일과 폴더를 가져오는 친구를 썼다.

일단 그래도 3가지라 했으니 소개는 한다. ㅎ

 

  OpenFileDialog

이건 파일을 가져올 수 있지만! 폴더는 가져올 수 없다.

 

새로 시도해보려고 열심히  찾아 해 봤는데

안된다...

다들 찾고 되면 알려주세요 ㅜㅜ

using System.Windows.Forms; 이게 빨간 줄 안 떠야 될 것 같은데

안 뜨게 하는 법을 찾아서 저번에는 성공했는데 이번엔 안 먹힌다.

그럼 뭐가 문제인가?

혹시 솔루션 탐색기의 종속성이라서 참조가 아니라?

됐던 건 참조였다..

저거의 차이점을 알 수 없다...

알려주세요ㅜㅠㅠㅠ

 

 FolderBrowserDialog

이것도 앞에 꺼하다가 힘이 빠져서 뒤로 넘긴다

이건 폴더를 여는 친구! ui가 트리로 보이는 구조

  CommonOpenFileDialog

이건 내가 쓴 마지막 친구

그냥 이거 쓰세요 그냥

이 친구는 true냐 false냐에 따라 파일 폴더 달라지는 착한 친구입니다.

 

이것도 NuGet 패키지 깔아야 한다

WindowsAPICodePack 검색 후 설치

private string GetDirPath()
        {
            CommonOpenFileDialog folderDialog = new CommonOpenFileDialog()
            {
                InitialDirectory = "",
                IsFolderPicker = true //폴더찾기

            };

            if (folderDialog.ShowDialog() == CommonFileDialogResult.Ok)
            {
                return folderDialog.FileName;
            }
            else
            {
                return "False";
            }
        }

다음처럼 true 면 폴더

 private string GetfilePath()
        {
            CommonOpenFileDialog dialog = new CommonOpenFileDialog()
            {
                InitialDirectory = "",
                IsFolderPicker = false  //파일찾기

            };

            if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
            {
                return dialog.FileName;
            }
            else
            {
                return "True";
            }
        }

false면 파일 찾기다.

 

 

전체적인 add 버튼을 눌렀을 때 코드 

        private void Addfile(object sender, RoutedEventArgs e)
        {
            dirPath = GetfilePath();
            String FileNameOnly = System.IO.Path.GetFileName(dirPath);
            String FullFileName = dirPath;

            //listbox에 추가
            videolist.Items.Add(FullFileName);
            
        }
        private string GetfilePath()
        {
            CommonOpenFileDialog dialog = new CommonOpenFileDialog()
            {
                InitialDirectory = "",
                IsFolderPicker = false  //파일찾기

            };

            if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
            {
                return dialog.FileName;
            }
            else
            {
                return "True";
            }
        }

 

 

나 더 이상 못하겠다 

폴더 추가는 못 올리겠다.

 

다들 폴더 추가는 숙제로!

 

 

※경고

밑 파일은 미완성 파일임

 

playlist.zip
0.26MB

 

댓글