반응형
c# Winform에서 디렉토리의 경로를 다이얼로그로 불러오는 방법입니다.
아래 설명하는 기능을 사용하기 위해서는 별도의 패키지를 설치해야 합니다.
1. 우선 [도구] - [NuGet 패키지 관리자] - [솔루션용 Nuget 패키지 관리]를 클릭하여 창을 띄우고, 찾아보기에서
"WindowsAPICodePack" 을 검색합니다. 그리고 아래 사진과 같이 WindowsAPICodePack-Shell을 클릭하여 필요한 프로젝트에 설치합니다.
2. 설치를 했으면 설치한 프로젝트의 클래스에 아래 메소드를 씁니다.
using Microsoft.WindowsAPICodePack.Dialogs;
class example {
public static CommonFileDialogResult DoSetFolderPathUsingFWindowsAPICodePack(IWin32Window parentwnd, out string strSelectedPath)
{
strSelectedPath = "";
CommonOpenFileDialog dialog = new CommonOpenFileDialog();
dialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); //기본을 바탕화면으로.. 필요 없으면 삭제해도 무관.
dialog.IsFolderPicker = true;
CommonFileDialogResult dr = dialog.ShowDialog();
if (dr == CommonFileDialogResult.Ok)
{
strSelectedPath = dialog.FileName;
}
return dr;
}
}
3. 그리고 다른 클래스 또는 메소드에서 위 메소드를 호출합니다.
void exampleMethod()
{
string strFolderPath;
CommonFileDialogResult dr = example.DoSetFolderPathUsingFWindowsAPICodePack(this, out strFolderPath);
if (dr == CommonFileDialogResult.Ok)
{
//열기에 성공했으면 이곳에 어떻게 할지 추가.
//아래는 textbox에 경로를 넣었음.
m_tbLoadFolderPath.Text = strFolderPath;
}
}
4. 그 결과 아래와 같이 창이 뜨며 폴더를 선택하면 폴더 경로가 반환됩니다.
반응형
'Windows > C#(Winform)' 카테고리의 다른 글
[C# winForm] 어플리케이션(실행 프로그램) 버전 값 가져오는 방법. (0) | 2023.09.20 |
---|