2013-04-10 65 views
0

我正在使用代碼來顯示列表框中的所有啓動項目與環境變量「%appdata% 此代碼中有一些錯誤,我需要幫助...... 。 的評論錯誤無法添加文件到列表框...閱讀

檢查代碼是否有任何其他解決方案,但仍使用%APPDATA%

這是代碼:

private void readfiles() 
    { 
     String startfolder = Environment.ExpandEnvironmentVariables("%appdata%") + "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"; 
     foldertoread(startfolder); 
    } 

    private void foldertoread(string folderName) 
    { 
     FileInfo[] Files = folderName.GetFiles("*.txt"); // HERE is one error "Getfiles" 
     foreach (var file in Directory.GetFiles(folderName)) 
     { 
      startupinfo.Items.Add(file.Name); // here is another error "Name" 

     } 
    } 
+1

未來,不要只說你「有錯誤」。你很好,你指出它是什麼線,但知道**錯誤是什麼**對那些試圖幫助你的人有用。在這種情況下,這很明顯,但否則它可能不會。 – tnw 2013-04-10 19:35:08

回答

2

這條線將不會因爲folderName工作是一個字符串(並沒有GetFiles法):

FileInfo[] Files = folderName.GetFiles("*.txt"); 

第二個錯誤發生,因爲file變量是包含文件名的string。你並不需要調用file.Name,只是嘗試以下操作:

startupinfo.Items.Add(file); 
+0

爲什麼我想要「名稱」的問題是我只想顯示名稱,而不是整個位置+文件名.extension 另一個解決方案是理所當然的! 當我改變你說我得到這個錯誤.. 無法在此行上隱式地將類型'string []'轉換爲'System.IO.FileInfo []' :FileInfo [] Files = folderName.GetFiles(「* 。文本」); – Sneakybastardd 2013-04-10 19:36:08

+0

只需在'file'變量上使用'Path.GetFileNameWithoutExtension()',就像這樣:'startupinfo.Items.Add(Path.GetFileNameWithoutExtension(file));' – 2013-04-10 19:37:40

+0

這很好用!謝謝! – Sneakybastardd 2013-04-10 19:41:22

0

我不認爲你需要下面一行:

FileInfo[] Files = folderName.GetFiles("*.txt"); 

foreach循環將產生你所需要的。 其次,file變量是一個字符串,因此而不是調用:

startupinfo.Items.Add(file.Name); 

...調用來代替:

startupinfo.Items.Add(file); 

最後,而不是一個變種類型的循環,你可以使用字符串,並且可以指定文件類型過濾器:

foreach (string fileName in Directory.GetFiles(folderName, "*.txt")) 
0

string對象沒有一個GetFiles()方法。試試這個:

string startfolder = Environment.GetFolderPath(Environment.SpecialFolder.Startup); 

string[] files = Directory.GetFiles(startfolder, "*.txt"); 

foreach (string file in files) 
{ 
    startupinfo.Items.Add(Path.GetFileNameWithoutExtension(file)); 
} 

Path.GetFileNameWithoutExtension(file)只返回文件名而不是完整路徑。

+0

謝謝!不知道創業是一個特殊的文件夾! 使用你的代碼:) – Sneakybastardd 2013-04-10 19:42:09