FolderBrowserDialog보다 더 쓸만한 대화창이 필요하다면?
닷넷에서 기본 제공되는 FolderBrowserDialog 대화창은,
using (FolderBrowserDialog folderDlg = new FolderBrowserDialog())
{
if (folderDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
MessageBox.Show("선택한 폴더: " + folderDlg.SelectedPath);
}
}
다음과 같은 UI를 제공하는데, 사실 탐색하기가 좀 불편합니다.
사용성 측면에서 보면, SaveFileDialog/OpenFileDialog에서 제공되는 방식으로 폴더를 선택하는 것이 더 좋습니다. 다행히 윈도우 XP를 포기한다면 그와 같은 방식으로 폴더 선택창을 띄울 수 있는데요. 이를 위해 다음의 구성 요소를 다운로드 받아,
Windows® API Code Pack for Microsoft® .NET Framework
; http://archive.msdn.microsoft.com/WindowsAPICodePack/
2개의 어셈블리를 참조 추가하면,
- Microsoft.WindowsAPICodePack.dll
- Microsoft.WindowsAPICodePack.Shell.dll
CommonOpenFileDialog를 사용해서,
var dialog = new CommonOpenFileDialog();
dialog.IsFolderPicker = true;
if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
{
this.Path = dialog.FileName;
}
이렇게 폴더를 선택할 수 있습니다.
다시 한번 강조하지만, Vista 이상에서 쓸 수 있습니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]