나는 checkedListBox를 가지고 있습니다. 어떤 폴더 안에 파일을로드합니다. 선택하면 실행/열 수 있습니다. 내가 뭘 하려는지 파일 목록 상자 안에로드하는 것입니다; 경로가 없으면 입니다.C# folderBrowserDialog + openFileDialog checkedListBox의 경로 숨김
즉 : 환언
"C:\Folder1\anotherfolder\myfile1.txt"
; 나는 단지 보여지기를 원한다 : 파일명 (확장자의 유무에 관계없이).
즉 :
"myfile1.txt"
코드 내가 사용하고 있습니다 :
//...
private string openFileName, folderName;
private bool fileOpened = false;
//...
OpenFileDialog ofd = new OpenFileDialog();
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (!fileOpened)
{
ofd.InitialDirectory = fbd.SelectedPath;
ofd.FileName = null;
fbd.Description = "Please select your *.txt folder";
fbd.RootFolder = System.Environment.SpecialFolder.MyComputer;
if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string foldername = fbd.SelectedPath;
foreach (string f in Directory.GetFiles(foldername))
checkedListBox1.Items.Add(f);
}
내가 해봤 여러 가지 방법 ... 만 folderBrowserDialog와 는 할 수 없습니다 것으로 보인다. 하지만 이건 OFD와 FBD를 결합하여 (이론상) 어떻게 든 작동해야합니다. 나는 그것을 이해할 수 없다. 이후 나는 C# 프로그래밍에 "새로운"느낌이 듭니다. 가능하면 가능합니다. 또는 그것이 어떻게 행해지 는가?
미리 감사드립니다.
리카르도
checkedListBox1.Items.AddRange (Directory.GetFiles (fbd.SelectedPath) .Select (x => Path.GetFileName (x)). ToArray()); 이 작품은 저에게 큰 도움이되었습니다! 첫 번째 경로 만 보여주었습니다. 파일 이름이 아닙니다. 이제 좀 더 공부해야하므로 코드를 이해할 수 있습니다 ^^ 투표 할 수 없습니다 (아직 랭킹이 높지는 않음). 그러나 나는 너의 대답에 위대하다. 감사합니다. – Richard
"Lambda Expressions"및 IEnumerable 확장 방법에 대한 이해를 돕기 위해 다행히 도움이되었습니다. –
Steve