[VB.NET] 공통대화상자 - FolderBrowserDialog 사용법

2023. 2. 24. 09:00VB.NET/왕초보

파일 관련한 대화상자로 지난 강좌에서 다뤘던 열기, 저장 대화상자 외에서 아래 화면처럼 폴더를 선택하는 대화상자가 하나 더 있다.

폴더 대화상자

이 대화상자를 만들기 위해서 폼 디자인모드에서 아래 속성으로 컨트롤을 추가하자.

Type Name Text
FolderBrowserDialog DialogFolderBrowser 해당사항 없음
Button ButtonFolder &Folder

ButtonFolder의 Click 이벤트에 아래 소스 입력후 실행했을때 위 화면이 나오면 성공

Private Sub ButtonFolder_Click(sender As Object, e As EventArgs) Handles ButtonFolder.Click

    DialogFolderBrowser.RootFolder = Environment.SpecialFolder.Desktop
    DialogFolderBrowser.SelectedPath = "D:\test\"
    DialogFolderBrowser.ShowNewFolderButton = True
    DialogFolderBrowser.Description = "폴더를 선택해라."
    If DialogFolderBrowser.ShowDialog = DialogResult.OK Then
        MsgBox(DialogFolderBrowser.SelectedPath & " - 선택됨")
    End If

End Sub

 

Line 1 : DialogFolderBrowser.RootFolder = Environment.SpecialFolder.Desktop

대화상자의 루트폴더를 지정한다. 일반적으로 사용되지는 않지만, 특수한 경우 사용할 수 있어서 한줄 적어봤다. 폰트폴더나 개인폴더 등 브라우징으로 찾아가기 어려운 폴더를 특정할때 사용하면 도움이 될것 같기는 하다.

 

Line 2 : DialogFolderBrowser.SelectedPath = "D:\test\"

대화상자 오픈시 가리키고 있을 폴더를 임의로 지정할 수 있다. SelectedPath 속성은 나중에 사용자가 특정 폴더를 선택하면 선택된 폴더명으로 변경된다.

Line 3 : DialogFolderBrowser.ShowNewFolderButton = True

새폴더 만들기 버튼의 유무를 설정한다. 새폴더 만들기를 누르면 실제로 폴더를 생성할 수 있다. 이는 폴더 대화상자가 제공해주는 기능으로 우리가 뭔가를 할 필요는 없다. 비슷한 경우로 파일열기/저장 대화상자에서도 폴더를 만들수 있고, 삭제할 수도 있다. 공통 대화상자는 따로 코딩하지 않아도 이런 작업들이 다 구현돼 있다.

Line 4 : DialogFolderBrowser.Description = "폴더를 선택해라."

폴더 선택 대화상자는 파일 대화상자와 다르게 대화상자의 Title은 "폴더 찾아보기"로 고정돼 있고 변경하지는 못한다. 대신에 위 화면처럼 사용자에게 메시지를 보여줄 수 있는데 이때 사용되는 속성이다.

 

모든 대화상자 공통으로 반환값이 DialogResult.OK 일 경우에만 작업을 하면 된다. DialogResult.Cancel일때 따로 작업할 필요는 없다.

 

확실히 파일 열기 대화상자, 파일 저장 대화상자를 거쳐서 폴더선택 대화상자를 설명하니 좀더 설명이 쉬워진것 같다. 추후 폰트, 인쇄등 모든 대화상자를 하다보면 여전히 공통적인 부분이 눈에 많이 띌 것으로 보인다.

반응형