我很抱歉如果我遺漏了一些簡單的東西,我還在學習。這是我第一次嘗試遞歸。這個程序應該做到以下幾點,首先我打開我的FileBrowserDialog,然後列表視圖在選定的文件夾內填充文件名。但是,當我選擇文件夾時,它會填充列表視圖,但我看不到任何名稱,我的列表視圖凍結。我知道它填充的原因是滾動條調整。這是我的代碼:項目不會出現在列表視圖
#region FileHandlers
void FolderSearch(string sFol)
{
try
{
foreach (string d in Directory.GetDirectories(sFol))
{
foreach (string f in Directory.GetFiles(d))
{
listView1.Items.Add(f);
}
FolderSearch(d);
}
}
catch (System.Exception excpt)
{
MessageBox.Show(excpt.Message);
}
}
public void ChooseFolder()
{
string pPath;
if(folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
pPath = folderBrowserDialog1.SelectedPath;
FolderSearch(pPath);
}
}
#endregion
void Button1Click(object sender, EventArgs e)
{
ChooseFolder();
}
凍結背後的原因可能是所選文件夾的非常大的層次結構。嘗試加載所選文件夾的文件名並查看是否面臨相同的問題。註釋行'FolderSearch(d);'看到它只填充選定文件夾的文件名的列表視圖。 –
不幸的是,我試過這個以及使用一個測試文件夾,其中只有一對文件夾。似乎沒有任何工作。 –
您的代碼嘗試在加載所選文件夾的文件之前加載所選文件夾及其文件的子目錄。因此,如果子目錄中沒有任何文件,即使所選文件夾中有文件,也不會有任何項目添加到列表視圖中。 –